I posted the entire list of audiobooks I’ve bought from our sponsor, Audible.com, in November 2015. But here we are more than a year later, and I’ve listened to quite a few more books. Here’s an update in reverse chronological order…
A People’s History of the United States: 1492 to Present Howard Zinn 34 hrs and 12 mins
Jerusalem Alan Moore 60 hrs and 41 mins
Man’s Search for Meaning Viktor E. Frankl 4 hrs and 47 mins
Testimony Robbie Robertson 18 hrs and 38 mins
Death’s End Cixin Liu, Ken Liu – translator 28 hrs and 56 mins
A Night Without Stars: A Novel of the Commonwealth: Chronicle of the Fallers Series, Book 2`Peter F. Hamilton 26 hrs and 29 mins
The Romanovs: 1613-1918 Simon Sebag Montefiore 28 hrs and 47 mins
Born to Run Bruce Springsteen 18 hrs and 16 mins
Masters of Doom: How Two Guys Created an Empire and Transformed Pop Culture David Kushner 12 hrs and 43 mins
The Master and Margarita Mikhail Bulgakov 16 hrs and 51 mins
Blood Meridian: Or the Evening Redness in the West Cormac McCarthy 13 hrs and 10 mins
Doomsday Book Connie Willis 26 hrs and 26 mins
My Life in France Julia Child, Alex Prud’Homme 11 hrs and 17 mins
The Confidence Game: Why We Fall for It…Every Time Maria Konnikova 12 hrs and 33 mins
Between the World and Me Ta-Nehisi Coates 3 hrs and 35 mins
Alexander Hamilton Ron Chernow 36 hrs and 2 mins
I also worked on completing my collection of titles in Patrick O’Brian’s Aubrey-Maturin series. I’d rented (and returned) the first 15 on cassette from Recorded Books but I wanted to own them on Audible. Now I’m almost caught up – just a few more titles to add this year.
The Reverse of the Medal: Aubrey/Maturin Series, Book 11 Patrick O’Brian 10 hrs and 15 mins
The Far Side of the World: Aubrey/Maturin Series, Book 10 Patrick O’Brian 14 hrs and 30 mins
Treason’s Harbour: Aubrey/Maturin Series, Book 9 Patrick O’Brian 12 hrs and 48 mins
The Ionian Mission: Aubrey/Maturin Series, Book 8 Patrick O’Brian 15 hrs and 6 mins
The Surgeon’s Mate: Aubrey/Maturin Series, Book 7 Patrick O’Brian 14 hrs and 59 mins
The Fortune of War: Aubrey/Maturin Series, Book 6 Patrick O’Brian 13 hrs and 5 mins
Desolation Island: Aubrey/Maturin Series, Book 5 Patrick O’Brian 12 hrs and 59 mins
The Mauritius Command: Aubrey/Maturin Series, Book 4 Patrick O’Brian 13 hrs and 51 mins
H.M.S. Surprise: Aubrey/Maturin Series, Book 3 Patrick O’Brian 15 hrs and 40 mins
Post Captain: Aubrey/Maturin Series, Book 2 Patrick O’Brian 19 hrs and 9 mins
On this day 40 years ago I took the train into New York City and sat for the exam for my third class ticket, the then required license for working in radio. The original certificate is long gone — probably lost in the archives at my first station, WYBC New Haven — but this is the card I got five years later on renewal.
I’m a licensed professional
It’s been an amazing 40 years. And I’m still in love with radio.
The old TWiT Brick House studios may be vacant now, but they live on in this 3D walkthrough, thanks to Tertius Carstens of Carstens360 Business Photos and Google Maps.
The latest debacle over the “forced” upgrade to Windows 10 and Apple’s increasingly locked-in ecosystem has got me thinking. Do I really need to use a proprietary operating system to get work done? And while I’m at it, do I need to use commercial cloud services to store my data?
I’ve always used Linux since the first time I tried installing Slackware in the mid-90s. In 1998 we were the first national TV show to install Linux live (Red Hat). And I’ve often advocated Ubuntu to people with older computers. I usually have at least one computer running Linux around, in the past couple of years Dell XPS laptops have been great choices. And a couple of months ago I bought a 17″ Oryx laptop from System76, an Ubuntu system integrator, for use in studio.
But as time went by, even Ubuntu began to seem too commercial to me, and I’ve migrated to community supported Debian testing and the Arch-based Antergos distros for everything. (i use Antergos on my Oryx on the shows.)
Using these Linux systems and the Chromebook Pixel have convinced me I don’t really need to use commercial operating systems for anything I do. And for almost everything Linux is faster, better, and more reliable. At this point the only reason I can see for NOT using an open-source OS is a lack of software for something you need to do, like video or photo editing, music making, and rocket launching. But in the 20 years I’ve been using Linux, great alternative libre software has evolved to replace those commercial solutions. I think the time is right to make the switch.
So now for the grand experiment. Is it possible, I wonder, to do everything I need to do on an even more venerable, more robust system: a true UNIX OS, FreeBSD? Here are my requirements:
1. Stability – everything works even after updates 2. Security – no viruses, no exploits, no snoops or spooks 3. Usability – the UI has to look good and not get in my way 4. Speedy – I don’t like to wait
And the tasks I need to do:
1. Browsing 2. Email with PGP signing and encryption 3. Coding – I’m a hobbyist programmer requiring support for lisp/scheme/racket, rust, and python (and maybe forth and clojure and meteor and whatever else is cool and new) 4. Writing 5. A password vault. I currently use Lastpass because it syncs with mobile but eventually I’ll need to find a FOSS replacement for that, too 6. Photo editing – this is the toughest to replace. I love Photoshop and Lightroom. Can I get by with, say, GIMP and Darktable?
Why not Linux? After reading an excellent article on the differences between Linux and FreeBSD by Matthew D. Fuller and playing with both over the past few months I’ve come to believe BSD would be the better choice for me. In Matthew’s words:
“BSD is what you get when a bunch of Unix hackers sit down to try to port a Unix system to the PC. Linux is what you get when a bunch of PC hackers sit down and try to write a Unix system for the PC.”
I love Linux and will continue to use it on my laptops, but for my main workhorse desktop I think FreeBSD will be a better choice. I also look forward to learning and administering a true UNIX system. All the userland apps I currently rely on with Linux are also readily available on FreeBSD. Why FreeBSD not OpenBSD, or NetBSD, or PC-BSD, etc? FreeBSD has the largest community of all the BSDs and the FreeBSD handbook is quite impressive. That said, I think any BSD would suit just as well, but I had to choose one.
I do have a contingency plan. I’m not throwing away my Windows and Mac laptops, in fact, I’ll probably buy a new Macbook Pro the second it comes out, so if need be I can use them when I need commercial software. I’m also stuck using proprietary mobile devices for the moment. And for that reason, a good cloud architecture is important. Can I, for example, replace Lastpass and Evernote with a self-hosted, open source alternative? More on my planned self-hosted cloud later.
There’s another reason for this experiment, it’s going to be fun!
I’ve ordered a beast of a machine from ABMX.com, a FreeBSD system integrator. That way I know all the hardware will work with my shiny new OS.
• Supermicro X11SAT-F Motherboard (Socket 1151) • Intel Xeon E3-1275V5 4-Core 3.60 GHz • 32GB DDR4 ECC Un-buffered Memory • 1 512GB Samsung 950 Pro NVMe m.2 boot drive • 2 x 1.0 TB Samsung EVO 850 SSDs (supplemented with two I already have for a total of 4) • DVD burner (I’ve ordered the FreeBSD DVDs to support them even though you can download everything from freebsd.org.)
(I’m planning on using ZFS with two pools – one OS pool on the m.2 and a data pool using ZRAID on the 4TB of SSD storage, giving me 3.5GB total storage. ZFS is one very strong reason to use FreeBSD.)
• NVIDIA GeForce GTX 960 GPU
(Timing is not great here, I’d prefer the new GTX 1060 but it’s not available yet. I’m not gaming on this – that’s what the Xbox and PS4 are for – but I will be driving several high res displays and I don’t want any lag or tearing when I scroll.)
• 450Mbps Wireless N Dual Band PCI-e Adapter w/ 3x 2dBi Antennas
(Yes, sad to say, unless I rewire my house I’ll have to use Wi-Fi with this beast. I’ll probably rewire my house.)
I shall dub this system, The Beast. Nothing flashy here, it’s more yak than gazelle, but that’s what I want for my desktop. Total cost is, well I’d prefer not to dwell on it. But to quote Steve Gibson, I’m hoping this will be the last computer I’ll buy in my lifetime. (hah!)
I’ve also ordered a small NUC-style box from System76 to act as a server for my self-hosted cloud. I’m planning to run sandstorm.io on Debian stable behind a Ubiquiti EdgeRouterX on my Comcast Business Class cable modem. More on that next time.
And I’ll continue to chronicle my journey into the land of FOSS here when The Beast arrives. But in the meantime, please excuse me, I’ve got some reading to do.
Got a very nice email today from David Neptune that will make our Windows Phone 10 users happy:
Good morning!
As a long-time listener to many of the TWiT shows (Love Windows Weekly, Know How and Coding 101), and a hobbyist windows developer, I built a solution for myself to make sure I could easily get to all the live and prerecorded content you have to offer.
Using your relatively new API and the Windows 10 UWP platform, I have sent a new TWiT.tv Media Player app into the Windows 10 Store which should be up later today at https://www.microsoft.com/store/apps/9NBLGGH5Z87Z
Leo has commented many times that Dmitry Lyalin was going to update his app… he must be busier than me 😉
In any case, today’s drop is for Windows 10 and Windows 10 Mobile. I’m working out some UI input issues with Xbox One but hope to get that client out as soon as Microsoft allows.
I tried to leverage as much data goodness as I could squeeze out of the
API, but please let me know if there’s anything you like or don’t like about the app and I’ll adjust it for you.
Once again the TWiT Army rides to the rescue. A number of you have been looking for automated ways to download every single Security Now episode. I’ve received tweets and emails from several listeners who have provided their own scripts. I haven’t tried them, but a cursory glance tells me they’ll probably work and are non-lethal.
First for those of you using the B-word (bash) here’s a script from @sethleedy.
Here’s an updated bash script (for The Tech Guy and Macbreak Weekly but you can change that) from Matthew Foot. Don’t forget to set your timezone before running it!
#!/bin/bash
# TWiTCap - captures TWiT show MP3 streams and saves to date/timestamped MP3 files.
# let's fix time/date and sync it - we shall be getting NO shows if the time is wrong!
# Set the timezone below to reflect your locale, eg, mine is Europe/London
sudo timedatectl set-timezone Europe/London
sleep 1
echo "Date check in 1 second - compare to real time to confirm..."
sleep 1
date
while true
do
hm_peta=$(TZ=":US/Pacific" date +'%H%M')
dow=$(date +'%u')
day=$(date +'%a')
ymd=$(date +'%F')
sleep 1
if [ $hm_peta -eq "1100" ] && [[ $dow -eq "6" || $dow -eq "7" ]]
then echo "Capturing The Tech Guy to MP3..."
timeout 5h wget http://twit.am/listen -O TheTechGuy-$day-$ymd-$hm-US-Pacific.mp3
elif [ $hm_peta -eq "1100" ] && [ $dow -eq "2" ]
then echo "Capturing MacBreak Weekly and Security Now..."
timeout 8h wget http://twit.am/listen -O MacBreakWeekly-SecurityNow-$day-$ymd-$hm-US-Pacific.mp3
else echo "Waiting for show to start..."
fi
done
Finally, thanks to to Gary Nevills for the following two Powershell scripts. Gary writes:
“I thought I’d share my PowerShell scripts I use to download TWiT podcasts every week (and build up my library of shows). The download scripts work best in PowerShell 5.0 (Windows 10).
This one’s for downloading various shows in audio or video from TWiT’s website, you can also use it to view the download links (without downloading the shows), and highlight links that don’t redirect through PodTrac (see line 16).”
Download TWiT Shows
###########################
##### Begin Functions #####
###########################
Function find-url {
param
(
[Parameter(Mandatory=$true)]
[string] $DownloadType
)
#parse the webpage for the appropriate url
$fileUrl = "$DownloadType not available for episode $num"
$results | foreach {Select-String -InputObject $_ -Pattern "download>$DownloadType</a>"} | foreach {$fileUrl = $_}
$fileUrl = $fileUrl -replace '.*(http.*.mp[3|4]).*', '$1'
#uncomment below to show each url that doesn't go through podtrac
#if ($fileUrl -notlike "*podtrac*" -and $fileUrl -notlike "$DownloadType not available for episode $num") {Write-Host $fileUrl}
#uncomment below to display each url
Write-Host $fileUrl
#download the file if it is available and download was set to true
if ($fileUrl -notlike "$DownloadType not available for episode $num" -and $downloadShow) {
download-show -URL $fileUrl
}
}
Function download-show {
param
(
[Parameter(Mandatory=$true)]
[string] $URL
)
#get the filename from the url and format it
$fileName = [System.IO.Path]::GetFileName($fileUrl)
$fileName = $fileName -replace "(.*[a-z]).*[0]($num).*(.mp[3|4])", '$1$2$3'
#create the full output filename
$outputFile = "$outputDirectory$DownloadType$fileName"
#check if the directory to save file in exists, create it if necessary
$fileDirectory = [System.IO.Path]::GetDirectoryName($outputFile)
if (!(Test-Path $fileDirectory)) {New-Item -Path $fileDirectory -ItemType Directory | Out-Null}
#test if file has already been downloaded, skip if it has
if (!(Test-Path $outputFile)) {
#download and save the file
Invoke-WebRequest $URL -OutFile $outputFile
}
}
##############################################
###############Begin Parameters###############
##############################################
#Set episode range
$numOfEpisodes = 1 .. 20
#Pick 1 show at a time
$show = 'Security Now'
#$show = 'Windows Weekly'
#$show = 'TWiET'
#$show = 'Coding 101'
#Set the output directoy
$baseOutputDirectory = 'E:userdocumentspodcasts'
#choose which formats to download
$audio = $true
$videoSdSmall = $false
$videoSdLarge = $false
$videoHd = $false
#Download shows true/false - useful if just auditing download URL's
$downloadShow = $true
##############################################
##############End Paraemeters#################
##############################################
################ Begin Script ################
##############################################
$outputDirectory = "$baseOutputDirectory$show"
foreach ($num in $numOfEpisodes) {
switch -regex ($num)
{
{1..9 -contains $num} {$num = "{0:D1}" -f $num}
default {$num = "{0:D2}" -f $num}
}
$searchResults = $null
$downloadPage = $null
switch ($show) {
'Security Now' {$showUrl = "https://twit.tv/shows/security-now/episodes/"+$num+"?autostart=false"}
'Windows Weekly' {$showUrl = "https://twit.tv/shows/windows-weekly/episodes/"+$num+"?autostart=false"}
'TWiET' {$showUrl = "https://twit.tv/shows/this-week-in-enterprise-tech/episodes/"+$num+"?autostart=false"}
'Coding 101' {$showUrl = "https://twit.tv/shows/coding-101/episodes/"+$num+"?autostart=false"}
}
Try {
$downloadPage = Invoke-WebRequest $showUrl
$results = $downloadPage.Content -split "`n"
}
Catch {
Write-Error "Unable to find $showUrl"
Continue
}
if ($audio) {find-url -DownloadType "Audio"}
if ($videoSdSmall) {find-url -DownloadType "SD Video Small"}
if ($videoSdLarge) {find-url -DownloadType "SD Video Large"}
if ($videoHd) {find-url -DownloadType "HD Video"}
}
And this one’s for getting all of the files from grc.com for security now:
Download A Range of Security Now episodes from grc.com
$numOfEpisodes = 554 .. 557
$outputDirectory = 'E:userdocumentspodcastssecurity now'
foreach ($num in $numOfEpisodes) {
$num3Digit = "{0:D3}" -f $num
$num4Digit = "{0:D4}" -f $num
Write-Host $num3Digit
#Write-Host $num4Digit
$url = "http://www.podtrac.com/pts/redirect.mp3/twit.cachefly.net/audio/sn/sn$num4Digit/sn$num4Digit.mp3"
$outputFile = "$outputDirectoryaudiosn$num4Digit.mp3"
try {if (!(Test-Path $outputFile)) {Invoke-WebRequest $url -OutFile $outputFile}}
catch {Write-Host "$num3Digit not available in audio"}
$url = "https://www.grc.com/sn/sn-$num3Digit-notes.pdf"
$outputFile = "$outputDirectoryshow notessn$num3Digit.pdf"
try {if (!(Test-Path $outputFile)) {Invoke-WebRequest $url -OutFile $outputFile}}
catch {Write-Host "$num3Digit not available in show notes"}
$url = "https://www.grc.com/sn/sn-$num3Digit.pdf"
$outputFile = "$outputDirectorytranscriptspdfsn$num3Digit.pdf"
try {if (!(Test-Path $outputFile)) {Invoke-WebRequest $url -OutFile $outputFile}}
catch {Write-Host "$num3Digit not available in pdf transcript"}
$url = "https://www.grc.com/sn/sn-$num3Digit.txt"
$outputFile = "$outputDirectorytranscriptstextsn$num3Digit.txt"
try {if (!(Test-Path $outputFile)) {Invoke-WebRequest $url -OutFile $outputFile}}
catch {Write-Host "$num3Digit not available in txt transcript"}
}
Thanks, Gary! I haven’t tried these, but I want to put them here so you Powershell gurus can access them and use them for yourselves.
We’re headed to NAB for three days of shows next week. John “jammerb” Slanina heads out tonight for the long drive to Las Vegas. Load out is Saturday. I’ll be doing Triangulation from the LiveU booth at 11a Pacific on. Monday with Skywalker sound engineer (and the voice of General Grievous), Matthew Wood. Megan Morrone and I will host iOS Today at 1:30p with a look at iOS-based content creation tools. Later it’s TNT with news from NAB and we’ll continue with shows on Tuesday and Wednesday.
Burke begins to pack the van for the trip to NAB.
See you in Las Vegas. Or at the very least I hope you’ll see us!
I don’t need another iPad. No one does. That’s probably why sales are plummeting. But I bought the new 9.7 inch iPad Pro anyway. Hey, it’s my job. I also have a secret agenda. I’m betting it will be the perfect blogging platform.
Two new features intrigued me.
It’s the first iPad to have a real camera. The same excellent camera, in fact, that comes in the iPhone 6s. That means I’ll be able to shoot stills and videos right from my blogging tool. I’ve tried that with the iPhone 6s plus and the Galaxy S7, but typing on those things is impossible for those of us with sausage finger syndrome (SFS).
And that’s where the new iPad’s itty bitty keyboard comes in. Now I can actually type my posts. It’s too early to tell whether it’s workable for SFS sufferers, but I’m using it right now and it’s not too bad. If I were an artist like Serenity Caldwell I’d even be able to sketch a little. I had hoped to do the same thing with Google’s Pixel C and the skinny Macbook before that, but neither quite suited.
With the Smart case the new iPad still is small enough to fit into my man bag, and light enough that I won’t mind carrying it all the time. And that means I’ll have the means to mash those keys wherever I am.
I can use the tiny Shure Motiv microphone to record high quality audio right into the beast. Which means I can audio blog, too. And I find it much easier to talk than type.
As the good book says, Alexander Hamilton wrote “like he was running out of time.” And, as a result, we know more of his thoughts and life than any of the other founding fathers. Hearing that has inspired me to talk less, blog more. Or maybe do both and in a couple of hundred years someone will write a hit musical about me. Maybe I should challenge Dvorak to a duel? Nah. I am not throwing away my shot!
The moon and Jupiter are out tonight. (Shot with the Galaxy S7 – talk about low light!) Yes, that’s Jupiter!
I am up every night at this time, around 4am. Jung called it the hour of the wolf. Either I’m going polyphasic or just getting old. But… I’m thinking if I published one blog post every night at this time instead of scanning Twitter and Instagram I might actually get something accomplished. So here’s my first Hour of the Wolf post.
Tip of the night: transfer.sh – a free command line based file transfer service. Written in Golang by the Dutch Coders. I’m working on getting a self-hosted version of this running on my doorstop server (more about that later). How handy!
24 years ago on this night my first child was born. Happy birthday, Abby. I love you so much.
#JeSuisBruxelles – how heartbreaking. What’s wrong with this world?
But I just couldn’t get it to get all my folders to sync on Mint GNU/Linux. Only the top level INBOX would download when connecting with my IMAP provider, Fastmail.
Turns out a “smart” engineer at Fastmail changed the auto-configure IMAP SSL port from 993 to 992 to get Thunderbird to work better with some non-compliant email programs, including Microsoft’s Outlook and Apple’s Mail. I had tried every possible solution including subscribing to specific folders and renaming the root folder until I found this post:
It’s a clever hack that makes Fastmail work better for Apple, Windows, and Blackberry users but it confuses the heck out of compliant client users who allow Fastmail to auto-configure settings.
Changing SSL port 992 to 993 fixes the problem.
It’s okay to use the autoconfig – it works fine otherwise – but if you’re not getting all your mail try switching ports. 993 is standard, 992 is a hack for non-compliant clients (which, apparently, is pretty much everybody).