<?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>Thu, 05 Mar 2026 21:05:55 -0600</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>BSD Now - Episodes Tagged with “Vulnerability”</title>
    <link>https://www.bsdnow.tv/tags/vulnerability</link>
    <pubDate>Thu, 18 Jul 2024 12: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>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>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
NOTES
This episode of BSDNow is brought to you by Tarsnap (https://www.tarsnap.com/bsdnow) and the BSDNow Patreon (https://www.patreon.com/bsdnow)
Headlines
regreSSHion: RCE in OpenSSH's server, on glibc-based Linux systems (https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt) and OpenBSD 9.8 (https://undeadly.org/cgi?action=article;sid=20240701102851)
Improving and debugging FreeBSDs Intel wifi support (https://freebsdfoundation.org/blog/improving-and-debugging-freebsds-intel-wi-fi-support-cheng-cuis-key-role-in-the-iwlwifi-project/)
FreeBSD adds an implementation of the 9P filesystem (https://cgit.freebsd.org/src/commit/?id=e97ad33a89a78f55280b0485b3249ee9b907a718)
News Roundup
FreeBSD Zero to Desktop Speedrun Challenge (https://vermaden.wordpress.com/2024/04/05/freebsd-zero-to-desktop-speedrun-challenge/)
Why and how to run your own FreeBSD package cache (https://blog.rlwinm.de/why-and-how-to-run-your-own-freebsd-package-cache-3wbg)
Game of Trees Hub: A Git Repository Hosting Service Based on OpenBSD (http://undeadly.org/cgi?action=article;sid=20240621074337)
Why Does FreeBSD Default to Csh/Tcsh? Exploring Its Advantages (https://lobste.rs/s/iuzuge/why_does_freebsd_default_csh_tcsh)
AI-assisted computer interfaces of the future (https://whynothugo.nl/journal/2023/03/23/ai-assisted-computer-interfaces-of-the-future/)
Tarsnap
This weeks episode of BSDNow was sponsored by our friends at Tarsnap, the only secure online backup you can trust your data to. Even paranoids need backups.
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)
Join us and other BSD Fans in our BSD Now Telegram channel (https://t.me/bsdnow)
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, open source, foss, shell, cli, unix, tools, utility, berkeley, software, distribution, development, code, programming, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, 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" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt" rel="nofollow">regreSSHion: RCE in OpenSSH&#39;s server, on glibc-based Linux systems</a> and <a href="https://undeadly.org/cgi?action=article;sid=20240701102851" rel="nofollow">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/" rel="nofollow">Improving and debugging FreeBSDs Intel wifi support</a></p>

<hr>

<p><a href="https://cgit.freebsd.org/src/commit/?id=e97ad33a89a78f55280b0485b3249ee9b907a718" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">Why and how to run your own FreeBSD package cache</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240621074337" rel="nofollow">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" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" rel="nofollow">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>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" rel="nofollow">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" rel="nofollow">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt" rel="nofollow">regreSSHion: RCE in OpenSSH&#39;s server, on glibc-based Linux systems</a> and <a href="https://undeadly.org/cgi?action=article;sid=20240701102851" rel="nofollow">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/" rel="nofollow">Improving and debugging FreeBSDs Intel wifi support</a></p>

<hr>

<p><a href="https://cgit.freebsd.org/src/commit/?id=e97ad33a89a78f55280b0485b3249ee9b907a718" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">Why and how to run your own FreeBSD package cache</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240621074337" rel="nofollow">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" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" rel="nofollow">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>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>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.
Headlines
NetBSD 9.0 release process has started (https://mail-index.netbsd.org/netbsd-announce/2019/07/31/msg000301.html)
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:
+ New AArch64 architecture support:
 + Symmetric and asymmetrical multiprocessing support (aka big.LITTLE)
 + Support for running 32-bit binaries
 + UEFI and ACPI support
 + Support for SBSA/SBBR (server-class) hardware.
+ The FDT-ization of many ARM boards:
 + the 32-bit GENERIC kernel lists 129 different DTS configurations
 + the 64-bit GENERIC64 kernel lists 74 different DTS configurations
 + All supported by a single kernel, without requiring per-board configuration.
+ Graphics driver update, matching Linux 4.4, adding support for up to Kaby Lake based Intel graphics devices.
+ ZFS has been updated to a modern version and seen many bugfixes.
+ New hardware-accelerated virtualization via NVMM.
+ NPF performance improvements and bug fixes. A new lookup algorithm, thmap, is now the default.
+ NVMe performance improvements
+ Optional kernel ASLR support, and partial kernel ASLR for the default configuration.
+ Kernel sanitizers:
 + KLEAK, detecting memory leaks
 + KASAN, detecting memory overruns
 + KUBSAN, detecting undefined behaviour
 + These have been used together with continuous fuzzing via the syzkaller project to find many bugs that were fixed.
+ The removal of outdated networking components such as ISDN and all of its drivers
+ The installer is now capable of performing GPT UEFI installations.
+ Dramatically improved support for userland sanitizers, as well as the option to build all of NetBSD's userland using them for bug-finding.
+ 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.
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.
+ Binaries are available at https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/
xargs wtf (https://medium.com/@aarontharris/xargs-wtf-34d2618286b7)
 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.
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.
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.
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:
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.
News Roundup
PkgSrc: A Tale of Two Spellcheckers (https://bentsukun.ch/posts/pkgsrccon-2019/)
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.
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.
Adapting TriforceAFL for NetBSD, Part 2 (https://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part1)
I have been working on adapting TriforceAFL for NetBSD kernel syscall fuzzing. This blog post summarizes the work done until the second evaluation.
For work done during the first coding period, check out this post.
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!
Exploiting a no-name freebsd kernel vulnerability (https://www.synacktiv.com/posts/exploit/exploiting-a-no-name-freebsd-kernel-vulnerability.html)
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.
[Allan and Benedicts Conference Gear Breakdown]

Benedict’s Gear:
GlocalMe G3 Mobile Travel HotSpot and Powerbank (https://www.glocalme.com/CA/en-US/cloudsim/g3)
Mogics Power Bagel (http://www.mogics.com/3824-2)
Charby Sense Power Cable (https://charbycharge.com/charby-sense-worlds-smartest-auto-cutoff-cable/)
Allan’s Gear:
Huawei E5770s-320 4G LTE 150 Mbps Mobile WiFi Pro (https://smile.amazon.com/gp/product/B013CEGGKI/)
AOW Global Data SIM Card for On-Demand 4G LTE Mobile Data in Over 90 Countries (https://smile.amazon.com/dp/B071HJFX27/)
All my devices charge from USB-C, so that is great
More USB thumb drives than strictly necessary
My Lenovo X270 laptop running FreeBSD 13-current
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
Beastie Bits
Replacing the Unix tradition (Warning may be rage inducing) (https://www.youtube.com/watch?v=L9v4Mg8wi4U&amp;amp;feature=youtu.be)
Installing OpenBSD over remote serial on the AtomicPI (https://www.thanassis.space/remoteserial.html#remoteserial)
Zen 2 and DragonFly (https://www.dragonflydigest.com/2019/08/05/23294.html)
Improve Docking on FreeBSD (https://blog.yukiisbo.red/posts/2019/05/improve-docking-on-freebsd/)
Register for vBSDCon 2019, Sept 5-7 in Reston VA. Early bird ends August 15th. (https://vbsdcon.com/registration)
Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway (https://2019.eurobsdcon.org/registration/)
Feedback/Questions
JT - Congrats (http://dpaste.com/0D7Y31E#wrap)
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to feedback@bsdnow.tv (mailto:feedback@bsdnow.tv)

    
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, 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" rel="nofollow">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&#39;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/" rel="nofollow">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" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">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" rel="nofollow">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></li>
<li><p>Benedict’s Gear:</p>

<blockquote>
<p><a href="https://www.glocalme.com/CA/en-US/cloudsim/g3" rel="nofollow">GlocalMe G3 Mobile Travel HotSpot and Powerbank</a><br>
<a href="http://www.mogics.com/3824-2" rel="nofollow">Mogics Power Bagel</a><br>
<a href="https://charbycharge.com/charby-sense-worlds-smartest-auto-cutoff-cable/" rel="nofollow">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/" rel="nofollow">Huawei E5770s-320 4G LTE 150 Mbps Mobile WiFi Pro</a><br>
<a href="https://smile.amazon.com/dp/B071HJFX27/" rel="nofollow">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&feature=youtu.be" rel="nofollow">Replacing the Unix tradition (Warning may be rage inducing)</a></li>
<li><a href="https://www.thanassis.space/remoteserial.html#remoteserial" rel="nofollow">Installing OpenBSD over remote serial on the AtomicPI</a></li>
<li><a href="https://www.dragonflydigest.com/2019/08/05/23294.html" rel="nofollow">Zen 2 and DragonFly</a></li>
<li><a href="https://blog.yukiisbo.red/posts/2019/05/improve-docking-on-freebsd/" rel="nofollow">Improve Docking on FreeBSD</a></li>
<li><a href="https://vbsdcon.com/registration" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">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" rel="nofollow">feedback@bsdnow.tv</a></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0311.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </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" rel="nofollow">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&#39;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/" rel="nofollow">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" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">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" rel="nofollow">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></li>
<li><p>Benedict’s Gear:</p>

<blockquote>
<p><a href="https://www.glocalme.com/CA/en-US/cloudsim/g3" rel="nofollow">GlocalMe G3 Mobile Travel HotSpot and Powerbank</a><br>
<a href="http://www.mogics.com/3824-2" rel="nofollow">Mogics Power Bagel</a><br>
<a href="https://charbycharge.com/charby-sense-worlds-smartest-auto-cutoff-cable/" rel="nofollow">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/" rel="nofollow">Huawei E5770s-320 4G LTE 150 Mbps Mobile WiFi Pro</a><br>
<a href="https://smile.amazon.com/dp/B071HJFX27/" rel="nofollow">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&feature=youtu.be" rel="nofollow">Replacing the Unix tradition (Warning may be rage inducing)</a></li>
<li><a href="https://www.thanassis.space/remoteserial.html#remoteserial" rel="nofollow">Installing OpenBSD over remote serial on the AtomicPI</a></li>
<li><a href="https://www.dragonflydigest.com/2019/08/05/23294.html" rel="nofollow">Zen 2 and DragonFly</a></li>
<li><a href="https://blog.yukiisbo.red/posts/2019/05/improve-docking-on-freebsd/" rel="nofollow">Improve Docking on FreeBSD</a></li>
<li><a href="https://vbsdcon.com/registration" rel="nofollow">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/" rel="nofollow">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" rel="nofollow">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" rel="nofollow">feedback@bsdnow.tv</a></li>
</ul>

<hr>

<video controls preload="metadata" style=" width:426px;  height:240px;">
    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0311.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
</video>]]>
  </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>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;##Headlines&lt;br&gt;
&lt;a href="https://distrowatch.com/weekly.php?issue=20181119#netbsd"&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/"&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"&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 rawargs() function and cookargs() 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/"&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"&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"&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/"&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"&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 “enUS”. 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/"&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"&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"&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"&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"&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"&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"&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-10rc3-available/"&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"&gt;FreeBSD 10.4 EOL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd.network/@ephemeris/101073578346815313"&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"&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"&gt;Question regarding FreeBSD backups&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlangille"&gt;https://twitter.com/dlangille&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/"&gt;https://dan.langille.org/&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"&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">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>

<p><hr></p>

<p>###<a href="https://tech.mangot.com/blog/2018/11/08/showing-a-gigabit-openbsd-firewall-some-monitoring-love/">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">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>

<p><hr></p>

<p>##News Roundup<br>
###<a href="https://www.bleepingcomputer.com/news/security/trivial-bug-in-xorg-gives-root-permission-on-linux-and-bsd-systems/">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">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">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>

<p><hr></p>

<p>###<a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/">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>

<p><hr></p>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20180813#nomadbsd">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>

<p><hr></p>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://oshogbo.vexillium.org/blog/50/">FreeBSD lockless algorithm - seq</a></li>
<li><a href="https://github.com/bob-beck/libtls/blob/master/TUTORIAL.md">Happy Bob’s Libtls tutorial</a></li>
<li><a href="https://chown.me/blog/locking-openbsd-when-sleeping.html">Locking OpenBSD when it’s sleeping</a></li>
<li><a href="https://www.geoghegan.ca/serviio.html">iio - The OpenBSD Way</a></li>
<li><a href="https://bsdboy.ml/blog/installing-hugo-and-hosting-on-openbsd.html">Installing Hugo and Hosting Website on OpenBSD Server</a></li>
<li><a href="http://blog.osorio.me/post.php?idpost=1">Fosdem 2019 reminder: BSD devroom CfP</a></li>
<li><a href="https://www.youtube.com/watch?v=4gOoPxGKKjA&amp;feature=youtu.be">OpenBGPD, gotta go fast! - Claudio Jeker</a></li>
<li><a href="http://project-trident.org/post/2018-11-10_rc3-available/">Project Trident RC3 available</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-November/001849.html">FreeBSD 10.4 EOL</a></li>
<li><a href="https://bsd.network/@ephemeris/101073578346815313">Play “Crazy Train” through your APU2 speaker</a></li>
</ul>

<p><hr></p>

<p>##Feedback/Questions</p>

<ul>
<li>Tobias - <a href="http://dpaste.com/174WGEY#wrap">Satisfying my storage hunger and wallet pains</a></li>
<li>Lasse - <a href="http://dpaste.com/1QBMH73">Question regarding FreeBSD backups</a>
<ul>
<li><a href="https://twitter.com/dlangille">https://twitter.com/dlangille</a></li>
<li><a href="https://dan.langille.org/">https://dan.langille.org/</a></li>
</ul>

<p></li><br>
</ul><br>
<hr></p>

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

<p><hr></p>]]>
  </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">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>

<p><hr></p>

<p>###<a href="https://tech.mangot.com/blog/2018/11/08/showing-a-gigabit-openbsd-firewall-some-monitoring-love/">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">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>

<p><hr></p>

<p>##News Roundup<br>
###<a href="https://www.bleepingcomputer.com/news/security/trivial-bug-in-xorg-gives-root-permission-on-linux-and-bsd-systems/">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">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">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>

<p><hr></p>

<p>###<a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/">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>

<p><hr></p>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20180813#nomadbsd">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>

<p><hr></p>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://oshogbo.vexillium.org/blog/50/">FreeBSD lockless algorithm - seq</a></li>
<li><a href="https://github.com/bob-beck/libtls/blob/master/TUTORIAL.md">Happy Bob’s Libtls tutorial</a></li>
<li><a href="https://chown.me/blog/locking-openbsd-when-sleeping.html">Locking OpenBSD when it’s sleeping</a></li>
<li><a href="https://www.geoghegan.ca/serviio.html">iio - The OpenBSD Way</a></li>
<li><a href="https://bsdboy.ml/blog/installing-hugo-and-hosting-on-openbsd.html">Installing Hugo and Hosting Website on OpenBSD Server</a></li>
<li><a href="http://blog.osorio.me/post.php?idpost=1">Fosdem 2019 reminder: BSD devroom CfP</a></li>
<li><a href="https://www.youtube.com/watch?v=4gOoPxGKKjA&amp;feature=youtu.be">OpenBGPD, gotta go fast! - Claudio Jeker</a></li>
<li><a href="http://project-trident.org/post/2018-11-10_rc3-available/">Project Trident RC3 available</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-November/001849.html">FreeBSD 10.4 EOL</a></li>
<li><a href="https://bsd.network/@ephemeris/101073578346815313">Play “Crazy Train” through your APU2 speaker</a></li>
</ul>

<p><hr></p>

<p>##Feedback/Questions</p>

<ul>
<li>Tobias - <a href="http://dpaste.com/174WGEY#wrap">Satisfying my storage hunger and wallet pains</a></li>
<li>Lasse - <a href="http://dpaste.com/1QBMH73">Question regarding FreeBSD backups</a>
<ul>
<li><a href="https://twitter.com/dlangille">https://twitter.com/dlangille</a></li>
<li><a href="https://dan.langille.org/">https://dan.langille.org/</a></li>
</ul>

<p></li><br>
</ul><br>
<hr></p>

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

<p><hr></p>]]>
  </itunes:summary>
</item>
<item>
  <title>41: Commit This Bit</title>
  <link>https://www.bsdnow.tv/41</link>
  <guid isPermaLink="false">0017fbdd-17f8-464f-8bd5-94c6070bbd9a</guid>
  <pubDate>Wed, 11 Jun 2014 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0017fbdd-17f8-464f-8bd5-94c6070bbd9a.mp3" length="48292564" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week in the big show, we'll be interviewing Benedict Reuschling of the FreeBSD documentation team, and he has a special surprise in store for Allan. As always, answers to your questions and all the latest news, on BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:07: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>This week in the big show, we'll be interviewing Benedict Reuschling of the FreeBSD documentation team, and he has a special surprise in store for Allan. As always, answers to your questions and all the latest news, on BSD Now - the place to B.. SD.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;&lt;img src="/images/tarsnap1.png" alt="Tarsnap - online backups for the truly paranoid"&gt;&lt;/a&gt;
Headlines
FreeBSD moves to Bugzilla (https://lists.freebsd.org/pipermail/freebsd-announce/2014-June/001559.html)
Historically, FreeBSD has used the old GNATS system for keeping track of bug reports
After years and years of wanting to switch, they've finally moved away from GNATS to Bugzilla
It offers a lot of advantages, is much more modern and actively maintained and 
There's a new workflow chart (http://people.freebsd.org/~eadler/bugrelocation/workflow.html) for developers to illustrate the new way of doing things
The old "send-pr" command will still work for the time being, but will eventually be phased out in favor of native Bugzilla reporting tools (of which there are multiple in ports)
This will hopefully make reporting bugs a lot less painful
***
DIY NAS: EconoNAS 2014 (http://blog.brianmoses.net/2014/06/diy-nas-econonas-2014.html)
We previously covered this blog last year, but the 2014 edition is up
More of a hardware-focused article, the author details the parts he's using for a budget NAS
Details the motherboard, RAM, CPU, hard drives, case, etc
With a set goal of $500 max, he goes just over it - $550 for all the parts
Lots of nice pictures of the hardware and step by step instructions for assembly, as well as software configuration instructions
***
DragonflyBSD 3.8 released (http://www.shiningsilence.com/dbsdlog/2014/06/04/14122.html)
Justin (http://www.bsdnow.tv/episodes/2013_11_13-the_gateway_drug) announced the availability of DragonflyBSD 3.8.0
Binaries in /bin and /sbin are dynamic now, enabling the use of PAM and NSS to manage user accounts
It includes a new HAMMER FS backup script and lots of FreeBSD tools have been synced with their latest versions
Work continues on for the Intel graphics drivers, but it's currently limited to the HD4000 and Ivy Bridge series
See the release page (http://www.dragonflybsd.org/release38/) for more info and check the link for source-based upgrade instructions
***
OpenZFS European conference 2014 (http://www.open-zfs.org/wiki/Publications#2014_OpenZFS_European_Conference)
There was an OpenZFS conference held in Europe recently, and now the videos are online for your viewing pleasure
Matt Ahrens, Introduction (http://www.youtube.com/watch?v=Mk1czZs6vkQ)
Michael Alexander, FhGFS performance on ZFS (http://www.youtube.com/watch?v=Ak1HB507-xY)
Andriy Gapon, Testing ZFS on FreeBSD (http://www.youtube.com/watch?v=oB-QDwVuBH4)
Luke Marsden, HybridCluster: ZFS in the cloud (http://www.youtube.com/watch?v=ISI9Ppj3kTo)
Vadim Comănescu, Syneto: continuously delivering a ZFS-based OS (http://www.youtube.com/watch?v=1xK94v0BedE)
Chris George, DDRdrive ZIL accelerator: random write revelation (http://www.youtube.com/watch?v=ScNHjWBQYQ8)
Grenville Whelan, High-Availability (http://www.youtube.com/watch?v=tiTYZykCeDo)
Phil Harman, Harman Holistic (https://www.youtube.com/watch?v=ApjkrBVlPXk)
Mark Rees, Storiant and OpenZFS (http://www.youtube.com/watch?v=41yl23EACns)
Andrew Holway, EraStor ZFS appliances (http://www.youtube.com/watch?v=b4L0DRvKJxo)
Dan Vâtca, Syneto and OpenZFS (http://www.youtube.com/watch?v=pPOW8bwUXxo)
Luke Marsden, HybridCluster and OpenZFS (http://www.youtube.com/watch?v=uSM1s1aWlZE)
Matt Ahrens, Delphix and OpenZFS (http://www.youtube.com/watch?v=UaRdzUOsieA)
Check the link for slides and other goodies
***
Interview - Benedict Reuschling - bcr@freebsd.org (mailto:bcr@freebsd.org)
BSD documentation, getting commit access, unix education, various topics
News Roundup
Getting to know your portmgr, Steve Wills (http://blogs.freebsdish.org/portmgr/2014/06/04/getting-to-know-your-portmgr-steve-wills/)
"It is my pleasure to introduce Steve Wills, the newest member of the portmgr team"
swills is an all-round good guy, does a lot for ports (especially the ruby ports)
In this interview, we learn why he uses FreeBSD, the most embarrassing moment in his FreeBSD career and much more
He used to work for Red Hat, woah
***
BSDTalk episode 242 (http://bsdtalk.blogspot.com/2014/06/bsdtalk242-pfsense-with-chris-buechler.html)
This time on BSDTalk, Will interviews Chris Buechler (http://www.bsdnow.tv/episodes/2014_02_19-a_sixth_pfsense) from pfSense
Topics include: the heartbleed vulnerability and how it affected pfSense, how people usually leave their firewalls unpatched for a long time (or even forget about them!), changes between major versions, the upgrade process, upcoming features in their 10-based version, backporting drivers and security fixes
They also touch on recent concerns in the pfSense community about their license change, that they may be "going commercial" and closing the source - so tune in to find out what their future plans are for all of that
***
Turn old PC hardware into a killer home server (http://www.pcworld.com/article/2243748/turn-old-pc-hardware-into-a-killer-home-server-with-freenas.html)
Lots of us have old hardware lying around doing nothing but collecting dust
Why not turn that old box into a modern file server with FreeNAS and ZFS?
This article goes through the process of setting up a NAS, gives a little history behind the project and highlights some of the different protocols FreeNAS can use (NFS, SMB, AFS, etc)
Most of our users are already familiar with all of this stuff, nothing too advanced
Good to see BSD getting some well-deserved attention on a big mainstream site
***
Unbloating the VAX install CD (https://blog.netbsd.org/tnf/entry/unbloating_the_vax_install_cd)
After a discussion on the VAX mailing list, something very important came to the attention of the developers...
You can't boot NetBSD on a VAX box with 16MB of RAM from the CD image
This blog post goes through the developer's adventure in trying to fix that through emulation and stripping various things out of the kernel to make it smaller
In the end, he got it booting - and now all three VAX users who want to run NetBSD can do so on their systems with 16MB of RAM...
***
Feedback/Questions
Thomas writes in (http://slexy.org/view/s211mNScBr)
Reynold writes in (http://slexy.org/view/s21JA8BVmZ)
Bostjan writes in (http://slexy.org/view/s2kwS3ncTY)
Paul writes in (http://slexy.org/view/s2VgjXUfW9)
John writes in (http://slexy.org/view/s202AAQUXt)
*** 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, gnats, send-pr, sendbug, bugzilla, bug tracker, iso, cdr, dvd, patches, applied, commit bit, documentation, bsdcan, 2014, 9.3-RELEASE, 9.3, release, stable, advocacy, openssl, libressl, security, vulnerability, bsdtalk, pfsense, license, openzfs, zfs, presentation, talk, matthew ahrens, delphix, hybridcluster, freenas</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week in the big show, we&#39;ll be interviewing Benedict Reuschling of the FreeBSD documentation team, and he has a special surprise in store for Allan. As always, answers to your questions and all the latest news, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/tarsnap1.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/2014-June/001559.html" rel="nofollow">FreeBSD moves to Bugzilla</a></h3>

<ul>
<li>Historically, FreeBSD has used the old GNATS system for keeping track of bug reports</li>
<li>After years and years of wanting to switch, they&#39;ve finally moved away from GNATS to Bugzilla</li>
<li>It offers a lot of advantages, is much more modern and actively maintained and </li>
<li>There&#39;s a new <a href="http://people.freebsd.org/%7Eeadler/bugrelocation/workflow.html" rel="nofollow">workflow chart</a> for developers to illustrate the new way of doing things</li>
<li>The old &quot;send-pr&quot; command will still work for the time being, but will eventually be phased out in favor of native Bugzilla reporting tools (of which there are multiple in ports)</li>
<li>This will hopefully make reporting bugs a lot less painful
***</li>
</ul>

<h3><a href="http://blog.brianmoses.net/2014/06/diy-nas-econonas-2014.html" rel="nofollow">DIY NAS: EconoNAS 2014</a></h3>

<ul>
<li>We previously covered this blog last year, but the 2014 edition is up</li>
<li>More of a hardware-focused article, the author details the parts he&#39;s using for a <strong>budget</strong> NAS</li>
<li>Details the motherboard, RAM, CPU, hard drives, case, etc</li>
<li>With a set goal of $500 max, he goes just over it - $550 for all the parts</li>
<li>Lots of nice pictures of the hardware and step by step instructions for assembly, as well as software configuration instructions
***</li>
</ul>

<h3><a href="http://www.shiningsilence.com/dbsdlog/2014/06/04/14122.html" rel="nofollow">DragonflyBSD 3.8 released</a></h3>

<ul>
<li><a href="http://www.bsdnow.tv/episodes/2013_11_13-the_gateway_drug" rel="nofollow">Justin</a> announced the availability of DragonflyBSD 3.8.0</li>
<li>Binaries in /bin and /sbin are dynamic now, enabling the use of PAM and NSS to manage user accounts</li>
<li>It includes a new HAMMER FS backup script and lots of FreeBSD tools have been synced with their latest versions</li>
<li>Work continues on for the Intel graphics drivers, but it&#39;s currently limited to the HD4000 and Ivy Bridge series</li>
<li>See <a href="http://www.dragonflybsd.org/release38/" rel="nofollow">the release page</a> for more info and check the link for source-based upgrade instructions
***</li>
</ul>

<h3><a href="http://www.open-zfs.org/wiki/Publications#2014_OpenZFS_European_Conference" rel="nofollow">OpenZFS European conference 2014</a></h3>

<ul>
<li>There was an OpenZFS conference held in Europe recently, and now the videos are online for your viewing pleasure</li>
<li>Matt Ahrens, <a href="http://www.youtube.com/watch?v=Mk1czZs6vkQ" rel="nofollow">Introduction</a></li>
<li>Michael Alexander, <a href="http://www.youtube.com/watch?v=Ak1HB507-xY" rel="nofollow">FhGFS performance on ZFS</a></li>
<li>Andriy Gapon, <a href="http://www.youtube.com/watch?v=oB-QDwVuBH4" rel="nofollow">Testing ZFS on FreeBSD</a></li>
<li>Luke Marsden, <a href="http://www.youtube.com/watch?v=ISI9Ppj3kTo" rel="nofollow">HybridCluster: ZFS in the cloud</a></li>
<li>Vadim Comănescu, <a href="http://www.youtube.com/watch?v=1xK94v0BedE" rel="nofollow">Syneto: continuously delivering a ZFS-based OS</a></li>
<li>Chris George, <a href="http://www.youtube.com/watch?v=ScNHjWBQYQ8" rel="nofollow">DDRdrive ZIL accelerator: random write revelation</a></li>
<li>Grenville Whelan, <a href="http://www.youtube.com/watch?v=tiTYZykCeDo" rel="nofollow">High-Availability</a></li>
<li>Phil Harman, <a href="https://www.youtube.com/watch?v=ApjkrBVlPXk" rel="nofollow">Harman Holistic</a></li>
<li>Mark Rees, <a href="http://www.youtube.com/watch?v=41yl23EACns" rel="nofollow">Storiant and OpenZFS</a></li>
<li>Andrew Holway, <a href="http://www.youtube.com/watch?v=b4L0DRvKJxo" rel="nofollow">EraStor ZFS appliances</a></li>
<li>Dan Vâtca, <a href="http://www.youtube.com/watch?v=pPOW8bwUXxo" rel="nofollow">Syneto and OpenZFS</a></li>
<li>Luke Marsden, <a href="http://www.youtube.com/watch?v=uSM1s1aWlZE" rel="nofollow">HybridCluster and OpenZFS</a></li>
<li>Matt Ahrens, <a href="http://www.youtube.com/watch?v=UaRdzUOsieA" rel="nofollow">Delphix and OpenZFS</a></li>
<li>Check the link for slides and other goodies
***</li>
</ul>

<h2>Interview - Benedict Reuschling - <a href="mailto:bcr@freebsd.org" rel="nofollow">bcr@freebsd.org</a></h2>

<p>BSD documentation, getting commit access, unix education, various topics</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://blogs.freebsdish.org/portmgr/2014/06/04/getting-to-know-your-portmgr-steve-wills/" rel="nofollow">Getting to know your portmgr, Steve Wills</a></h3>

<ul>
<li>&quot;It is my pleasure to introduce Steve Wills, the newest member of the portmgr team&quot;</li>
<li>swills is an all-round good guy, does a lot for ports (especially the ruby ports)</li>
<li>In this interview, we learn why he uses FreeBSD, the most embarrassing moment in his FreeBSD career and much more</li>
<li>He used to work for Red Hat, woah
***</li>
</ul>

<h3><a href="http://bsdtalk.blogspot.com/2014/06/bsdtalk242-pfsense-with-chris-buechler.html" rel="nofollow">BSDTalk episode 242</a></h3>

<ul>
<li>This time on BSDTalk, Will interviews <a href="http://www.bsdnow.tv/episodes/2014_02_19-a_sixth_pfsense" rel="nofollow">Chris Buechler</a> from pfSense</li>
<li>Topics include: the heartbleed vulnerability and how it affected pfSense, how people usually leave their firewalls unpatched for a long time (or even forget about them!), changes between major versions, the upgrade process, upcoming features in their 10-based version, backporting drivers and security fixes</li>
<li>They also touch on recent concerns in the pfSense community about their license change, that they may be &quot;going commercial&quot; and closing the source - so tune in to find out what their future plans are for all of that
***</li>
</ul>

<h3><a href="http://www.pcworld.com/article/2243748/turn-old-pc-hardware-into-a-killer-home-server-with-freenas.html" rel="nofollow">Turn old PC hardware into a killer home server</a></h3>

<ul>
<li>Lots of us have old hardware lying around doing nothing but collecting dust</li>
<li>Why not turn that old box into a modern file server with FreeNAS and ZFS?</li>
<li>This article goes through the process of setting up a NAS, gives a little history behind the project and highlights some of the different protocols FreeNAS can use (NFS, SMB, AFS, etc)</li>
<li>Most of our users are already familiar with all of this stuff, nothing too advanced</li>
<li>Good to see BSD getting some well-deserved attention on a big mainstream site
***</li>
</ul>

<h3><a href="https://blog.netbsd.org/tnf/entry/unbloating_the_vax_install_cd" rel="nofollow">Unbloating the VAX install CD</a></h3>

<ul>
<li>After a discussion on the VAX mailing list, something very important came to the attention of the developers...</li>
<li>You can&#39;t boot NetBSD on a VAX box with 16MB of RAM from the CD image</li>
<li>This blog post goes through the developer&#39;s adventure in trying to fix that through emulation and stripping various things out of the kernel to make it smaller</li>
<li>In the end, he got it booting - and now all three VAX users who want to run NetBSD can do so on their systems with 16MB of RAM...
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s211mNScBr" rel="nofollow">Thomas writes in</a></li>
<li><a href="http://slexy.org/view/s21JA8BVmZ" rel="nofollow">Reynold writes in</a></li>
<li><a href="http://slexy.org/view/s2kwS3ncTY" rel="nofollow">Bostjan writes in</a></li>
<li><a href="http://slexy.org/view/s2VgjXUfW9" rel="nofollow">Paul writes in</a></li>
<li><a href="http://slexy.org/view/s202AAQUXt" rel="nofollow">John writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week in the big show, we&#39;ll be interviewing Benedict Reuschling of the FreeBSD documentation team, and he has a special surprise in store for Allan. As always, answers to your questions and all the latest news, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise servers and storage for open source" /></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap"><img src="/images/tarsnap1.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/2014-June/001559.html" rel="nofollow">FreeBSD moves to Bugzilla</a></h3>

<ul>
<li>Historically, FreeBSD has used the old GNATS system for keeping track of bug reports</li>
<li>After years and years of wanting to switch, they&#39;ve finally moved away from GNATS to Bugzilla</li>
<li>It offers a lot of advantages, is much more modern and actively maintained and </li>
<li>There&#39;s a new <a href="http://people.freebsd.org/%7Eeadler/bugrelocation/workflow.html" rel="nofollow">workflow chart</a> for developers to illustrate the new way of doing things</li>
<li>The old &quot;send-pr&quot; command will still work for the time being, but will eventually be phased out in favor of native Bugzilla reporting tools (of which there are multiple in ports)</li>
<li>This will hopefully make reporting bugs a lot less painful
***</li>
</ul>

<h3><a href="http://blog.brianmoses.net/2014/06/diy-nas-econonas-2014.html" rel="nofollow">DIY NAS: EconoNAS 2014</a></h3>

<ul>
<li>We previously covered this blog last year, but the 2014 edition is up</li>
<li>More of a hardware-focused article, the author details the parts he&#39;s using for a <strong>budget</strong> NAS</li>
<li>Details the motherboard, RAM, CPU, hard drives, case, etc</li>
<li>With a set goal of $500 max, he goes just over it - $550 for all the parts</li>
<li>Lots of nice pictures of the hardware and step by step instructions for assembly, as well as software configuration instructions
***</li>
</ul>

<h3><a href="http://www.shiningsilence.com/dbsdlog/2014/06/04/14122.html" rel="nofollow">DragonflyBSD 3.8 released</a></h3>

<ul>
<li><a href="http://www.bsdnow.tv/episodes/2013_11_13-the_gateway_drug" rel="nofollow">Justin</a> announced the availability of DragonflyBSD 3.8.0</li>
<li>Binaries in /bin and /sbin are dynamic now, enabling the use of PAM and NSS to manage user accounts</li>
<li>It includes a new HAMMER FS backup script and lots of FreeBSD tools have been synced with their latest versions</li>
<li>Work continues on for the Intel graphics drivers, but it&#39;s currently limited to the HD4000 and Ivy Bridge series</li>
<li>See <a href="http://www.dragonflybsd.org/release38/" rel="nofollow">the release page</a> for more info and check the link for source-based upgrade instructions
***</li>
</ul>

<h3><a href="http://www.open-zfs.org/wiki/Publications#2014_OpenZFS_European_Conference" rel="nofollow">OpenZFS European conference 2014</a></h3>

<ul>
<li>There was an OpenZFS conference held in Europe recently, and now the videos are online for your viewing pleasure</li>
<li>Matt Ahrens, <a href="http://www.youtube.com/watch?v=Mk1czZs6vkQ" rel="nofollow">Introduction</a></li>
<li>Michael Alexander, <a href="http://www.youtube.com/watch?v=Ak1HB507-xY" rel="nofollow">FhGFS performance on ZFS</a></li>
<li>Andriy Gapon, <a href="http://www.youtube.com/watch?v=oB-QDwVuBH4" rel="nofollow">Testing ZFS on FreeBSD</a></li>
<li>Luke Marsden, <a href="http://www.youtube.com/watch?v=ISI9Ppj3kTo" rel="nofollow">HybridCluster: ZFS in the cloud</a></li>
<li>Vadim Comănescu, <a href="http://www.youtube.com/watch?v=1xK94v0BedE" rel="nofollow">Syneto: continuously delivering a ZFS-based OS</a></li>
<li>Chris George, <a href="http://www.youtube.com/watch?v=ScNHjWBQYQ8" rel="nofollow">DDRdrive ZIL accelerator: random write revelation</a></li>
<li>Grenville Whelan, <a href="http://www.youtube.com/watch?v=tiTYZykCeDo" rel="nofollow">High-Availability</a></li>
<li>Phil Harman, <a href="https://www.youtube.com/watch?v=ApjkrBVlPXk" rel="nofollow">Harman Holistic</a></li>
<li>Mark Rees, <a href="http://www.youtube.com/watch?v=41yl23EACns" rel="nofollow">Storiant and OpenZFS</a></li>
<li>Andrew Holway, <a href="http://www.youtube.com/watch?v=b4L0DRvKJxo" rel="nofollow">EraStor ZFS appliances</a></li>
<li>Dan Vâtca, <a href="http://www.youtube.com/watch?v=pPOW8bwUXxo" rel="nofollow">Syneto and OpenZFS</a></li>
<li>Luke Marsden, <a href="http://www.youtube.com/watch?v=uSM1s1aWlZE" rel="nofollow">HybridCluster and OpenZFS</a></li>
<li>Matt Ahrens, <a href="http://www.youtube.com/watch?v=UaRdzUOsieA" rel="nofollow">Delphix and OpenZFS</a></li>
<li>Check the link for slides and other goodies
***</li>
</ul>

<h2>Interview - Benedict Reuschling - <a href="mailto:bcr@freebsd.org" rel="nofollow">bcr@freebsd.org</a></h2>

<p>BSD documentation, getting commit access, unix education, various topics</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://blogs.freebsdish.org/portmgr/2014/06/04/getting-to-know-your-portmgr-steve-wills/" rel="nofollow">Getting to know your portmgr, Steve Wills</a></h3>

<ul>
<li>&quot;It is my pleasure to introduce Steve Wills, the newest member of the portmgr team&quot;</li>
<li>swills is an all-round good guy, does a lot for ports (especially the ruby ports)</li>
<li>In this interview, we learn why he uses FreeBSD, the most embarrassing moment in his FreeBSD career and much more</li>
<li>He used to work for Red Hat, woah
***</li>
</ul>

<h3><a href="http://bsdtalk.blogspot.com/2014/06/bsdtalk242-pfsense-with-chris-buechler.html" rel="nofollow">BSDTalk episode 242</a></h3>

<ul>
<li>This time on BSDTalk, Will interviews <a href="http://www.bsdnow.tv/episodes/2014_02_19-a_sixth_pfsense" rel="nofollow">Chris Buechler</a> from pfSense</li>
<li>Topics include: the heartbleed vulnerability and how it affected pfSense, how people usually leave their firewalls unpatched for a long time (or even forget about them!), changes between major versions, the upgrade process, upcoming features in their 10-based version, backporting drivers and security fixes</li>
<li>They also touch on recent concerns in the pfSense community about their license change, that they may be &quot;going commercial&quot; and closing the source - so tune in to find out what their future plans are for all of that
***</li>
</ul>

<h3><a href="http://www.pcworld.com/article/2243748/turn-old-pc-hardware-into-a-killer-home-server-with-freenas.html" rel="nofollow">Turn old PC hardware into a killer home server</a></h3>

<ul>
<li>Lots of us have old hardware lying around doing nothing but collecting dust</li>
<li>Why not turn that old box into a modern file server with FreeNAS and ZFS?</li>
<li>This article goes through the process of setting up a NAS, gives a little history behind the project and highlights some of the different protocols FreeNAS can use (NFS, SMB, AFS, etc)</li>
<li>Most of our users are already familiar with all of this stuff, nothing too advanced</li>
<li>Good to see BSD getting some well-deserved attention on a big mainstream site
***</li>
</ul>

<h3><a href="https://blog.netbsd.org/tnf/entry/unbloating_the_vax_install_cd" rel="nofollow">Unbloating the VAX install CD</a></h3>

<ul>
<li>After a discussion on the VAX mailing list, something very important came to the attention of the developers...</li>
<li>You can&#39;t boot NetBSD on a VAX box with 16MB of RAM from the CD image</li>
<li>This blog post goes through the developer&#39;s adventure in trying to fix that through emulation and stripping various things out of the kernel to make it smaller</li>
<li>In the end, he got it booting - and now all three VAX users who want to run NetBSD can do so on their systems with 16MB of RAM...
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s211mNScBr" rel="nofollow">Thomas writes in</a></li>
<li><a href="http://slexy.org/view/s21JA8BVmZ" rel="nofollow">Reynold writes in</a></li>
<li><a href="http://slexy.org/view/s2kwS3ncTY" rel="nofollow">Bostjan writes in</a></li>
<li><a href="http://slexy.org/view/s2VgjXUfW9" rel="nofollow">Paul writes in</a></li>
<li><a href="http://slexy.org/view/s202AAQUXt" rel="nofollow">John writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>21: Tendresse for Ten</title>
  <link>https://www.bsdnow.tv/21</link>
  <guid isPermaLink="false">353e6a60-9bd0-494f-ac34-4337e3dfa734</guid>
  <pubDate>Wed, 22 Jan 2014 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/353e6a60-9bd0-494f-ac34-4337e3dfa734.mp3" length="77103576" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This time on the show, we've got some great news for OpenBSD, as well as the scoop on FreeBSD 10.0-RELEASE - yes it's finally here! We're gonna talk to Colin Percival about running FreeBSD 10 on EC2 and lots of other interesting stuff. After that, we'll be showing you how to do some bandwidth monitoring and network performance testing in a combo tutorial. We've got a round of your questions and the latest news, on BSD Now - the place to B.. SD.</itunes:subtitle>
  <itunes:duration>1:47: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>This time on the show, we've got some great news for OpenBSD, as well as the scoop on FreeBSD 10.0-RELEASE - yes it's finally here! We're gonna talk to Colin Percival about running FreeBSD 10 on EC2 and lots of other interesting stuff. After that, we'll be showing you how to do some bandwidth monitoring and network performance testing in a combo tutorial. We've got a round of your questions and the latest news, on BSD Now - the place to B.. SD.
This episode was brought to you by
&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems"&gt;&lt;img src="/images/iXlogo2.png" alt="iXsystems - Enterprise Servers and Storage For Open Source"&gt;&lt;/a&gt;
Headlines
FreeBSD 10.0-RELEASE is out (https://www.freebsd.org/releases/10.0R/announce.html)
The long awaited, giant release of FreeBSD is now official and ready to be downloaded (http://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/10.0/)
One of the biggest releases in FreeBSD history, with tons of new updates
Some features include: LDNS/Unbound replacing BIND, Clang by default (no GCC anymore), native Raspberry Pi support and other ARM improvements, bhyve, hyper-v support, AMD KMS, VirtIO, Xen PVHVM in GENERIC, lots of driver updates, ZFS on root in the installer, SMP patches to pf that drastically improve performance, Netmap support, pkgng by default, wireless stack improvements, a new iSCSI stack, FUSE in the base system... the list goes on and on (https://www.freebsd.org/releases/10.0R/relnotes.html)
Start up your freebsd-update or do a source-based upgrade
***
OpenSSH 6.5 CFT (https://lists.mindrot.org/pipermail/openssh-unix-dev/2014-January/031987.html)
Our buddy Damien Miller (http://www.bsdnow.tv/episodes/2013_12_18-cryptocrystalline) announced a Call For Testing for OpenSSH 6.5
Huge, huge release, focused on new features rather than bugfixes (but it includes those too)
New ciphers, new key formats, new config options, see the mailing list for all the details
Should be in OpenBSD 5.5 in May, look forward to it - but also help test on other platforms!
***
DIY NAS story, FreeNAS 9.2.1-BETA (http://blog.brianmoses.net/2014/01/diy-nas-2014-edition.html)
Another new blog post about FreeNAS!
Instead of updating the older tutorials, the author started fresh and wrote a new one for 2014
"I did briefly consider suggesting nas4free for the EconoNAS blog, since it’s essentially a fork off the FreeNAS tree but may run better on slower hardware, but ultimately I couldn’t recommend anything other than FreeNAS"
Really long article with lots of nice details about his setup, why you might want a NAS, etc.
Speaking of FreeNAS, they released 9.2.1-BETA (http://www.freenas.org/whats-new/2014/01/freenas-9-2-1-beta-now-ready-for-download.html) with lots of bugfixes
***
OpenBSD needed funding for electricity.. and they got it (https://news.ycombinator.com/item?id=7069889)
Briefly mentioned at the end of last week's show, but has blown up over the internet since
OpenBSD in the headlines of major tech news sites: slashdot, zdnet, the register, hacker news, reddit, twitter.. thousands of comments
They needed about $20,000 to cover electric costs for the server rack in Theo's basement (http://www.openbsd.org/images/rack2009.jpg)
Lots of positive reaction from the community helping out so far, and it appears they have reached their goal (http://www.openbsdfoundation.org/campaign2104.html) and got $100,000 in donations
From Bob Beck: "we have in one week gone from being in a dire situation to having a commitment of approximately $100,000 in donations to the foundation"
This is a shining example of the BSD community coming together, and even the Linux people realizing how critical BSD is to the world at large
***
Interview - Colin Percival - cperciva@freebsd.org (mailto:cperciva@freebsd.org) / @cperciva (https://twitter.com/cperciva)
FreeBSD on Amazon EC2 (http://www.daemonology.net/freebsd-on-ec2/), backups with Tarsnap (https://www.tarsnap.com/), 10.0-RELEASE, various topics
Tutorial
Bandwidth monitoring and testing (http://www.bsdnow.tv/tutorials/vnstat-iperf)
News Roundup
pfSense talk at Tokyo FreeBSD Benkyoukai (https://blog.pfsense.org/?p=1176)
Isaac Levy will be presenting "pfSense Practical Experiences: from home routers, to High-Availability Datacenter Deployments"
He's also going to be looking for help to translate the pfSense documentation into Japanese
The event is on February 17, 2014 if you're in the Tokyo area
***
m0n0wall 1.8.1 released (http://m0n0.ch/wall/downloads.php)
For those who don't know, m0n0wall is an older BSD-based firewall OS that's mostly focused on embedded applications
pfSense was forked from it in 2004, and has a lot more active development now
They switched to FreeBSD 8.4 for this new version
Full list of updates in the changelog
This version requires at least 128MB RAM and a disk/CF size of 32MB or more, oh no!
***
Ansible and PF, plus NTP (http://blather.michaelwlucas.com/archives/1933)
Another blog post from our buddy Michael Lucas (http://www.bsdnow.tv/episodes/2013_11_06-year_of_the_bsd_desktop)
There've been some NTP amplification attacks recently (https://www.freebsd.org/security/advisories/FreeBSD-SA-14:02.ntpd.asc) in the news
The post describes how he configured ntpd on a lot of servers without a lot of work
He leverages pf and ansible for the configuration
OpenNTPD is, not surprisingly, unaffected - use it
***
ruBSD videos online (http://undeadly.org/cgi?action=article&amp;amp;sid=20140115054839)
Just a quick followup from a few weeks ago
Theo and Henning's talks from ruBSD are now available for download
There's also a nice interview with Theo
***
PCBSD weekly digest (http://blog.pcbsd.org/2014/01/pc-bsd-weekly-feature-digest-5/)
10.0-RC4 images are available
Wine PBI is now available for 10
9.2 systems will now be able to upgrade to version 10 and keep their PBI library
***
Feedback/Questions
Sha'ul writes in (http://slexy.org/view/s2WQXwMASZ)
Kjell-Aleksander writes in (http://slexy.org/view/s2H0FURAtZ)
Mike writes in (http://slexy.org/view/s21eKKPgqh)
Charlie writes in (and gets a reply) (http://slexy.org/view/s21UMLnV0G)
Kevin writes in (http://slexy.org/view/s2SuazcfoR)
*** 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, pcbsd, tutorial, howto, guide, bsd, interview, ec2, colin percival, cperciva, amazon, cloud, aws, instance, vm, virtual machine, xen, hypervisor, generic, 10.0, in the cloud, custom kernel, tarsnap, backup, backups, encrypted, dropbox, offsite, off site, crashplan, vnstat, iperf, performance, network, sysctl, throughput, speed, download, upload, check, test, freenas, m0n0wall, pfsense, zfs, vfs, tokyo, benkyokai, benkyoukai, ansible, nas, freenas, pf, ntp, openntpd, vulnerability, ntpd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This time on the show, we&#39;ve got some great news for OpenBSD, as well as the scoop on FreeBSD 10.0-RELEASE - yes it&#39;s finally here! We&#39;re gonna talk to Colin Percival about running FreeBSD 10 on EC2 and lots of other interesting stuff. After that, we&#39;ll be showing you how to do some bandwidth monitoring and network performance testing in a combo tutorial. We&#39;ve got a round of your questions and the latest news, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise Servers and Storage For Open Source" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/10.0R/announce.html" rel="nofollow">FreeBSD 10.0-RELEASE is out</a></h3>

<ul>
<li>The long awaited, giant release of FreeBSD is now official and <a href="http://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/10.0/" rel="nofollow">ready to be downloaded</a></li>
<li>One of the biggest releases in FreeBSD history, with tons of new updates</li>
<li>Some features include: LDNS/Unbound replacing BIND, Clang by default (no GCC anymore), native Raspberry Pi support and other ARM improvements, bhyve, hyper-v support, AMD KMS, VirtIO, Xen PVHVM in GENERIC, lots of driver updates, ZFS on root in the installer, SMP patches to pf that drastically improve performance, Netmap support, pkgng by default, wireless stack improvements, a new iSCSI stack, FUSE in the base system... <a href="https://www.freebsd.org/releases/10.0R/relnotes.html" rel="nofollow">the list goes on and on</a></li>
<li>Start up your freebsd-update or do a source-based upgrade
***</li>
</ul>

<h3><a href="https://lists.mindrot.org/pipermail/openssh-unix-dev/2014-January/031987.html" rel="nofollow">OpenSSH 6.5 CFT</a></h3>

<ul>
<li>Our buddy <a href="http://www.bsdnow.tv/episodes/2013_12_18-cryptocrystalline" rel="nofollow">Damien Miller</a> announced a Call For Testing for OpenSSH 6.5</li>
<li>Huge, huge release, focused on new features rather than bugfixes (but it includes those too)</li>
<li>New ciphers, new key formats, new config options, see the mailing list for all the details</li>
<li>Should be in OpenBSD 5.5 in May, look forward to it - but also help test on other platforms!
***</li>
</ul>

<h3><a href="http://blog.brianmoses.net/2014/01/diy-nas-2014-edition.html" rel="nofollow">DIY NAS story, FreeNAS 9.2.1-BETA</a></h3>

<ul>
<li>Another new blog post about FreeNAS!</li>
<li>Instead of updating the older tutorials, the author started fresh and wrote a new one for 2014</li>
<li>&quot;I did briefly consider suggesting nas4free for the EconoNAS blog, since it’s essentially a fork off the FreeNAS tree but may run better on slower hardware, but ultimately I couldn’t recommend anything other than FreeNAS&quot;</li>
<li>Really long article with lots of nice details about his setup, why you might want a NAS, etc.</li>
<li>Speaking of FreeNAS, they released <a href="http://www.freenas.org/whats-new/2014/01/freenas-9-2-1-beta-now-ready-for-download.html" rel="nofollow">9.2.1-BETA</a> with lots of bugfixes
***</li>
</ul>

<h3><a href="https://news.ycombinator.com/item?id=7069889" rel="nofollow">OpenBSD needed funding for electricity.. and they got it</a></h3>

<ul>
<li>Briefly mentioned at the end of last week&#39;s show, but has blown up over the internet since</li>
<li>OpenBSD in the headlines of major tech news sites: slashdot, zdnet, the register, hacker news, reddit, twitter.. thousands of comments</li>
<li>They needed about $20,000 to cover electric costs for the <a href="http://www.openbsd.org/images/rack2009.jpg" rel="nofollow">server rack in Theo&#39;s basement</a></li>
<li>Lots of positive reaction from the community helping out so far, and it appears they have <a href="http://www.openbsdfoundation.org/campaign2104.html" rel="nofollow">reached their goal</a> and got $100,000 in donations</li>
<li>From Bob Beck: &quot;we have in one week gone from being in a dire situation to having a commitment of approximately $100,000 in donations to the foundation&quot;</li>
<li>This is a shining example of the BSD community coming together, and even the Linux people realizing how critical BSD is to the world at large
***</li>
</ul>

<h2>Interview - Colin Percival - <a href="mailto:cperciva@freebsd.org" rel="nofollow">cperciva@freebsd.org</a> / <a href="https://twitter.com/cperciva" rel="nofollow">@cperciva</a></h2>

<p>FreeBSD <a href="http://www.daemonology.net/freebsd-on-ec2/" rel="nofollow">on Amazon EC2</a>, backups with <a href="https://www.tarsnap.com/" rel="nofollow">Tarsnap</a>, 10.0-RELEASE, various topics</p>

<hr>

<h2>Tutorial</h2>

<h3><a href="http://www.bsdnow.tv/tutorials/vnstat-iperf" rel="nofollow">Bandwidth monitoring and testing</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.pfsense.org/?p=1176" rel="nofollow">pfSense talk at Tokyo FreeBSD Benkyoukai</a></h3>

<ul>
<li>Isaac Levy will be presenting &quot;pfSense Practical Experiences: from home routers, to High-Availability Datacenter Deployments&quot;</li>
<li>He&#39;s also going to be looking for help to translate the pfSense documentation into Japanese</li>
<li>The event is on February 17, 2014 if you&#39;re in the Tokyo area
***</li>
</ul>

<h3><a href="http://m0n0.ch/wall/downloads.php" rel="nofollow">m0n0wall 1.8.1 released</a></h3>

<ul>
<li>For those who don&#39;t know, m0n0wall is an older BSD-based firewall OS that&#39;s mostly focused on embedded applications</li>
<li>pfSense was forked from it in 2004, and has a lot more active development now</li>
<li>They switched to FreeBSD 8.4 for this new version</li>
<li>Full list of updates in the changelog</li>
<li>This version requires at least 128MB RAM and a disk/CF size of 32MB or more, oh no!
***</li>
</ul>

<h3><a href="http://blather.michaelwlucas.com/archives/1933" rel="nofollow">Ansible and PF, plus NTP</a></h3>

<ul>
<li>Another blog post from our buddy <a href="http://www.bsdnow.tv/episodes/2013_11_06-year_of_the_bsd_desktop" rel="nofollow">Michael Lucas</a></li>
<li>There&#39;ve been some NTP amplification attacks <a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-14:02.ntpd.asc" rel="nofollow">recently</a> in the news</li>
<li>The post describes how he configured ntpd on a lot of servers without a lot of work</li>
<li>He leverages pf and ansible for the configuration</li>
<li>OpenNTPD is, not surprisingly, unaffected - use it
***</li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&sid=20140115054839" rel="nofollow">ruBSD videos online</a></h3>

<ul>
<li>Just a quick followup from a few weeks ago</li>
<li>Theo and Henning&#39;s talks from ruBSD are now available for download</li>
<li>There&#39;s also a nice interview with Theo
***</li>
</ul>

<h3><a href="http://blog.pcbsd.org/2014/01/pc-bsd-weekly-feature-digest-5/" rel="nofollow">PCBSD weekly digest</a></h3>

<ul>
<li>10.0-RC4 images are available</li>
<li>Wine PBI is now available for 10</li>
<li>9.2 systems will now be able to upgrade to version 10 and keep their PBI library
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2WQXwMASZ" rel="nofollow">Sha&#39;ul writes in</a></li>
<li><a href="http://slexy.org/view/s2H0FURAtZ" rel="nofollow">Kjell-Aleksander writes in</a></li>
<li><a href="http://slexy.org/view/s21eKKPgqh" rel="nofollow">Mike writes in</a></li>
<li><a href="http://slexy.org/view/s21UMLnV0G" rel="nofollow">Charlie writes in (and gets a reply)</a></li>
<li><a href="http://slexy.org/view/s2SuazcfoR" rel="nofollow">Kevin writes in</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This time on the show, we&#39;ve got some great news for OpenBSD, as well as the scoop on FreeBSD 10.0-RELEASE - yes it&#39;s finally here! We&#39;re gonna talk to Colin Percival about running FreeBSD 10 on EC2 and lots of other interesting stuff. After that, we&#39;ll be showing you how to do some bandwidth monitoring and network performance testing in a combo tutorial. We&#39;ve got a round of your questions and the latest news, on BSD Now - the place to B.. SD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems"><img src="/images/iXlogo2.png" alt="iXsystems - Enterprise Servers and Storage For Open Source" /></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/10.0R/announce.html" rel="nofollow">FreeBSD 10.0-RELEASE is out</a></h3>

<ul>
<li>The long awaited, giant release of FreeBSD is now official and <a href="http://ftp.freebsd.org/pub/FreeBSD/ISO-IMAGES-amd64/10.0/" rel="nofollow">ready to be downloaded</a></li>
<li>One of the biggest releases in FreeBSD history, with tons of new updates</li>
<li>Some features include: LDNS/Unbound replacing BIND, Clang by default (no GCC anymore), native Raspberry Pi support and other ARM improvements, bhyve, hyper-v support, AMD KMS, VirtIO, Xen PVHVM in GENERIC, lots of driver updates, ZFS on root in the installer, SMP patches to pf that drastically improve performance, Netmap support, pkgng by default, wireless stack improvements, a new iSCSI stack, FUSE in the base system... <a href="https://www.freebsd.org/releases/10.0R/relnotes.html" rel="nofollow">the list goes on and on</a></li>
<li>Start up your freebsd-update or do a source-based upgrade
***</li>
</ul>

<h3><a href="https://lists.mindrot.org/pipermail/openssh-unix-dev/2014-January/031987.html" rel="nofollow">OpenSSH 6.5 CFT</a></h3>

<ul>
<li>Our buddy <a href="http://www.bsdnow.tv/episodes/2013_12_18-cryptocrystalline" rel="nofollow">Damien Miller</a> announced a Call For Testing for OpenSSH 6.5</li>
<li>Huge, huge release, focused on new features rather than bugfixes (but it includes those too)</li>
<li>New ciphers, new key formats, new config options, see the mailing list for all the details</li>
<li>Should be in OpenBSD 5.5 in May, look forward to it - but also help test on other platforms!
***</li>
</ul>

<h3><a href="http://blog.brianmoses.net/2014/01/diy-nas-2014-edition.html" rel="nofollow">DIY NAS story, FreeNAS 9.2.1-BETA</a></h3>

<ul>
<li>Another new blog post about FreeNAS!</li>
<li>Instead of updating the older tutorials, the author started fresh and wrote a new one for 2014</li>
<li>&quot;I did briefly consider suggesting nas4free for the EconoNAS blog, since it’s essentially a fork off the FreeNAS tree but may run better on slower hardware, but ultimately I couldn’t recommend anything other than FreeNAS&quot;</li>
<li>Really long article with lots of nice details about his setup, why you might want a NAS, etc.</li>
<li>Speaking of FreeNAS, they released <a href="http://www.freenas.org/whats-new/2014/01/freenas-9-2-1-beta-now-ready-for-download.html" rel="nofollow">9.2.1-BETA</a> with lots of bugfixes
***</li>
</ul>

<h3><a href="https://news.ycombinator.com/item?id=7069889" rel="nofollow">OpenBSD needed funding for electricity.. and they got it</a></h3>

<ul>
<li>Briefly mentioned at the end of last week&#39;s show, but has blown up over the internet since</li>
<li>OpenBSD in the headlines of major tech news sites: slashdot, zdnet, the register, hacker news, reddit, twitter.. thousands of comments</li>
<li>They needed about $20,000 to cover electric costs for the <a href="http://www.openbsd.org/images/rack2009.jpg" rel="nofollow">server rack in Theo&#39;s basement</a></li>
<li>Lots of positive reaction from the community helping out so far, and it appears they have <a href="http://www.openbsdfoundation.org/campaign2104.html" rel="nofollow">reached their goal</a> and got $100,000 in donations</li>
<li>From Bob Beck: &quot;we have in one week gone from being in a dire situation to having a commitment of approximately $100,000 in donations to the foundation&quot;</li>
<li>This is a shining example of the BSD community coming together, and even the Linux people realizing how critical BSD is to the world at large
***</li>
</ul>

<h2>Interview - Colin Percival - <a href="mailto:cperciva@freebsd.org" rel="nofollow">cperciva@freebsd.org</a> / <a href="https://twitter.com/cperciva" rel="nofollow">@cperciva</a></h2>

<p>FreeBSD <a href="http://www.daemonology.net/freebsd-on-ec2/" rel="nofollow">on Amazon EC2</a>, backups with <a href="https://www.tarsnap.com/" rel="nofollow">Tarsnap</a>, 10.0-RELEASE, various topics</p>

<hr>

<h2>Tutorial</h2>

<h3><a href="http://www.bsdnow.tv/tutorials/vnstat-iperf" rel="nofollow">Bandwidth monitoring and testing</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.pfsense.org/?p=1176" rel="nofollow">pfSense talk at Tokyo FreeBSD Benkyoukai</a></h3>

<ul>
<li>Isaac Levy will be presenting &quot;pfSense Practical Experiences: from home routers, to High-Availability Datacenter Deployments&quot;</li>
<li>He&#39;s also going to be looking for help to translate the pfSense documentation into Japanese</li>
<li>The event is on February 17, 2014 if you&#39;re in the Tokyo area
***</li>
</ul>

<h3><a href="http://m0n0.ch/wall/downloads.php" rel="nofollow">m0n0wall 1.8.1 released</a></h3>

<ul>
<li>For those who don&#39;t know, m0n0wall is an older BSD-based firewall OS that&#39;s mostly focused on embedded applications</li>
<li>pfSense was forked from it in 2004, and has a lot more active development now</li>
<li>They switched to FreeBSD 8.4 for this new version</li>
<li>Full list of updates in the changelog</li>
<li>This version requires at least 128MB RAM and a disk/CF size of 32MB or more, oh no!
***</li>
</ul>

<h3><a href="http://blather.michaelwlucas.com/archives/1933" rel="nofollow">Ansible and PF, plus NTP</a></h3>

<ul>
<li>Another blog post from our buddy <a href="http://www.bsdnow.tv/episodes/2013_11_06-year_of_the_bsd_desktop" rel="nofollow">Michael Lucas</a></li>
<li>There&#39;ve been some NTP amplification attacks <a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-14:02.ntpd.asc" rel="nofollow">recently</a> in the news</li>
<li>The post describes how he configured ntpd on a lot of servers without a lot of work</li>
<li>He leverages pf and ansible for the configuration</li>
<li>OpenNTPD is, not surprisingly, unaffected - use it
***</li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&sid=20140115054839" rel="nofollow">ruBSD videos online</a></h3>

<ul>
<li>Just a quick followup from a few weeks ago</li>
<li>Theo and Henning&#39;s talks from ruBSD are now available for download</li>
<li>There&#39;s also a nice interview with Theo
***</li>
</ul>

<h3><a href="http://blog.pcbsd.org/2014/01/pc-bsd-weekly-feature-digest-5/" rel="nofollow">PCBSD weekly digest</a></h3>

<ul>
<li>10.0-RC4 images are available</li>
<li>Wine PBI is now available for 10</li>
<li>9.2 systems will now be able to upgrade to version 10 and keep their PBI library
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://slexy.org/view/s2WQXwMASZ" rel="nofollow">Sha&#39;ul writes in</a></li>
<li><a href="http://slexy.org/view/s2H0FURAtZ" rel="nofollow">Kjell-Aleksander writes in</a></li>
<li><a href="http://slexy.org/view/s21eKKPgqh" rel="nofollow">Mike writes in</a></li>
<li><a href="http://slexy.org/view/s21UMLnV0G" rel="nofollow">Charlie writes in (and gets a reply)</a></li>
<li><a href="http://slexy.org/view/s2SuazcfoR" rel="nofollow">Kevin writes in</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
