Author Archives: Norm

Post 1 – Bob’s Trip to Epsilon Eridani

I’m going to keep this first post pretty simple. It’s based on these two excerpts:

Chapter 13: Bob – August 17, 2133 – Enroute

“Epsilon Eridani is 10.52 light-years away from Sol. The specs indicated that the ship could run at 2g indefinitely with no ill effects, which would get me to my target star in a little over eleven years.”

“With a mental sigh, I adjusted my heading for Epsilon Eridani and cranked the drive back up to 2 g. The trip would take just under eleven and a half years to the universe at large, but only three years ship’s time. At midpoint, I would be travelling within a hair of light speed.”

Excerpts From: We Are Legion (We Are Bob) Copyright © Dennis E. Taylor 2016

I don’t know what database or star catalogue Dennis used for his data, simply looking up Epsilon Eridani in Wikipedia provides a huge amount of astronomical data, nicely summarized down the right sidebar. That page lists Epsilon Eridani as being \text{10.475 lightyears (ly)} away with an error of only \pm \text{0.004 ly}. Hmm, this wouldn’t get you to Dennis’ \text{10.52 ly} but that doesn’t really matter given the accuracies we are dealing with in the book. There is also the question of what values Dennis used for constants, like the speed of light, c. I’ll create a post of constants and astronomical data so you know where mine came from.

So how does Dennis come up with “just under eleven and a half years” for a stationary observer, like someone on Earth and also “three years ship’s time”?

First, let’s talk about how one gets to a star system. There are basically two options:

  1. Accelerate your ship to its maximum velocity, cruise along at that maximum velocity for most of your voyage, then decelerate to arrive at your destination, at some relatively small velocity.
  2. If your ship does not have a maximum speed and is able to accelerate at some constant value indefinitely, then you just keep accelerating until you reach the midpoint of your journey, then start decelerating until you reach your destination.

Option 1 is how most of us take trips and it’s also the way NASA uses for the probes it sends to other planets. However, based on the excerpt above, it appears the Bob’s are able to use method 2. Dennis never talks about a limit to the speed a HEAVEN vessel can attain (or maintain). The challenges associated with this may be discussed in a future post but for now, we’re going to assume that we can accelerate for the first half of the trip, then decelerate for the second half.

Okay, so how do we do this calculation. You may have heard of Special Relativity, proposed by Albert Einstein in September of 1905. One aspect of Special Relativity is called time dilation, which states that time slows down when you move at very high speeds (a significant portion of the speed of light). Special Relativity typically deals with “inertial reference frames”, which are situations where objects are traveling at CONSTANT speed, not accelerating. When you have a spaceship like HEAVEN 1, it accelerates at a constant rate of 2g (2 times the rate of gravity), at least that is what the excerpt tells us. Evolving Special Relativity’s equations to work with constant acceleration involves calculus and hyperbolic functions and is beyond the scope of what I’m looking to do here. For those interested, here’s a paper that shows the derivation of uniform relativistic acceleration.

These equations are summarized on a great webpage, the Relativistic Rocket. I will use three of the equations found on this page to calculate the relevant values Dennis talks about. These equations are:

Earth time to the star system:

(1)   \begin{equation*}   t = \sqrt{\left(\frac{d}{c}\right)^2 + \frac{2d}{a} \end{equation*}

Ship's time to the star system:

(2)   \begin{equation*}   T = \frac{2c}{a} cosh^{-1} \left( \frac{ad}{2c^2} + 1 \right) \end{equation*}

Speed at the midpoint to the star system:

(3)   \begin{equation*}   \upsilon = \frac{at}{\sqrt{1 + \left(\frac{at}{c}\right)^2}} \end{equation*}

Where the various values are: d = distance to the star system c = the speed of light a = the ship's acceleration t = stationary/earth time to the star system (from equation 1)

There are two tricks to actually doing these calculations, one is to make sure you get the units for the various values correct. If we use lightyears (ly) for distance and years (y) for time, then speed will be lightyear / year (ly / y) and acceleration will be lightyear / year^2 (ly / y^2). The other is to realize that for the earth time equation, that’s the time if we accelerate all the way there. In order to stop at the star system, we have to calculate the earth time to the midpoint and then double that time to get the total time to the system. This is not required in the ship’s time calculation, as it was already taken into account in the formula.

Please note: a lightyear is a measure of distance not time. It’s the distance light travels in one year.

Using the units outlined above, these values become:
d = 10.475 ly
c = 1 ly / y
a = 2g = 2.0645816 ly / y^2
t = 11.4026586 y

I was going to write out the above equations, substituting the values above but writing out equations in WordPress is clumsy at best, so I don’t really feel like doing that. You could plug those values into your calculator, that works. To calculate the results here, I decided I’d write a small python script and embed it below. The best part about this solution is the code is interactive, so you can play around with the values, like the ship’s acceleration, to see what effect that has on the results. Any changes you make aren’t saved, so if you change some things and want to go back to the original values, click on the menu button on the top left and then select “Reset”, then click “Yes, I Am sure”. Clicking the play button below runs the code. Let’s do that now.

NB: The above code is now available on GitHub here.

Here's a summary of the results, rounding to 3 decimal places:
Earth time: 11.403 years
Ship's time: 3.062 years
Speed at midpoint: 0.996 fraction of c

Comparing the results to the Dennis’ excerpt above, you can see that his values are right on the money.

These formulae and the python script can be used to calculate times and speeds for any of the trips Dennis outlines in the book, just by updating the distance and ship’s acceleration. For example, the colony ships travel from Earth to \text{Omicron}^2 Eridani (also known as 40 Eridani), which is a distance of 16.34 ly and their acceleration is only 1g. If you plug these into the script above, you get:

Earth time: 18.174 years
Ship's time: 5.686 years
Speed at midpoint: 0.994 fraction of c

These numbers line up reasonably well with Dennis’, given here:

Chapter 58: Riker – April 2171 – Sol

“The colony ships had a maximum sustained acceleration of 1 g, so the trip would take slightly longer than it would have for a version 1 Bob. They would be on the road for a little over eighteen years. About six years would pass on-board, but no time at all for the colonists in their stasis pods.”

Excerpts From: We Are Legion (We Are Bob) Copyright © Dennis E. Taylor 2016

That’s all for this post. Let me know what you think. See you in the funny papers 🙂

Introduction

Welcome to The Bobiverse – Explained. I, like you, am a big fan of Dennis E Taylor’s Bobiverse books, well, the first three at least. Since Dennis writes in the genre known as hard science fiction, I thought it would be fun to write a series of blog posts that explore the science behind the novels and to provide some detail by showing calculations for some of the values Dennis describes (e.g. how long it takes to get to a certain star system). Most of these posts confirm of Dennis’ accurate work although I will occasionally raise some questions regarding some of the science. Future posts may veer off into more conjecture but I’ll try to keep those to a minimum.

Please note this is not meant to be a critique or criticism of Dennis’ work in any way, I LOVE these books, have read them MANY times, and continue to reread them. It’s simply an exercise for me to brush up on some Physics and has been something I’ve been thinking of doing ever since a made a post in the Fans of the Bobiverse Facebook group (please note, this is a private group) about Dennis’ use of tau ( \tau).

I don’t plan to cross post these on FB except for this introduction with some slight modifications, so if you’d like to comment, discuss or have a suggestion, please feel free to do so on any of the posts. Also, if have a question about some aspect of the science in any of the books, add a comment or contact me via the Contact page and I’ll do my best to answer.

I’d like to write one new post per week but we’ll see how that goes. And now, on to the first post, examining Bob’s flight to Epsilon Eridani.

NB: I am uploading most code found in the subsequent posts to GitHub, which can be found here.

Favourite Books of 2021

While 2021 was another sucky year with respect to all that’s happening in the world, it will definitely go down as my all-time book reading record, with well over 100 books read this year.

Sadly, the Pinterest widget only displays the last 50 pins in a board, so you’ll see less than half the books I read but it’s the only easy option for now.

I powered through quite a few series this year, which is one of the reasons for the high book count. Not having to think about/find the next book to read is a big deal when you are reading 2-3 books a week.

Many of the series were entertaining and I definitely recall wanting to “get back” to them to see what happened next. Having said that, when I think back over the year, only one series really stood out as a favourite. Singletons continue to dominate my favourites.

Like last year, this year’s big disappointment was a highly anticipated book, Infinite 2, by Jeremy Robinson. Infinite was one of my favourite books in 2019 and I reread it in preparation for the sequel. Unfortunately, Infinite 2 just didn’t work for me. The fact that I can barely remember the plot line as I type this speaks volumes. Also like previous years, I continue to reread the Bobiverse books, albeit only books 1 through 3. They never get old.

Okay, here are my favourites from 2021. Andy Weir continues to be one of my favourite authors and while Artemis was good, The Martian, and this year’s addition, Project Hail Mary, were GREAT! Walter Isaacson also continues to be one of my favourite authors, his biographies are amazing and The Code Breaker, which features the story of Jennifer Doudna, is no exception. The bulk of the book was written before it was known that she would share the 2020 Nobel Prize in Chemistry for her work on gene editing and CRISPR. Finally, the series I was most excited about this year was “Season 2” of Dean Koontz’s Nameless. Season 2 was a fitting conclusion to what was an excellent Season 1. I think it would have been very interesting if Koontz had decided to write this as a full novel as opposed to a bunch of short stories but the result is still great.

I hope you had a great reading year and I’m looking forward to 2022, with lots of releases already on the calendar.

Favourite Books of 2020

2020 was another good reading year for me with 64 books read. While this post comes late, better late than never in some cases.

It was challenging to choose 3 favourites from the past year. While there were many good books, not as many stood out strongly as they had the year before. Possibly the biggest disappoint was the release of the much anticipated Bobiverse Book 4, “Heaven’s River” by Dennis E Taylor. The first 3 Bobiverse books continue to be my all time favourites and I reread them frequently. Sadly, Book 4, while I understand the evolution of the narrative, took a completely different path from the previous 3 and went far more dystopian. The Bobiverse has always been an uplifting, escape for me and Book 4 was definitely not. In fact, I recently reread the series but only the first 3 books, excluding the 4th.

Enough chatter, here are my 3 favorites from 2020. The most interesting aspect of these picks is they are all non fiction, which makes up a small percentage of the books I read each year.

Update dnsmasq in OpenWRT for unRAID

I’ve been having some router issues and have temporarily moved from dd-wrt to Open-WRT. Since I have https turned on for my unRAID server, I needed to modify the dnsmasq file so that I can access the unRAID GUI, as DNS rebinding protection is turned on by default in OpenWRT. Spaceinvader One shows how to do this for pfSense and dd-wrt, which is pretty easy, as you can add the required text directly into the GUI for those. Not true with OpenWRT. You will need to ssh into OpenWRT and then locate the file:

/etc/dnsmasq.conf

Open this file using vi and add the following line to the bottom of the file:

rebind-domain-ok=unraid.net

Save and quit. Then restart dnsmasq with the following command:

/etc/init.d/dnsmasq restart

All should be good.

Testing Network Transfer Speed Between unRAID and macOS

This post is a follow up to the previous post about creating RAM disks on unRAID and macOS in order to test network transfer speeds. I actually used this method first, as it was the easier of the two and gave me exact transfer rates. The key is to use iPerf3.

Installing iPerf3 on unRAID

Installing iPerf3 on unRAID is a snap using the excellent Nerd Pack plugin. Assuming you have the Community Apps (CA) plugin installed, navigate to the Apps tab and search for “nerd”. Click on the resulting Nerd Pack link in the drop down to install the plugin.

Once installed, click on the gear icon (settings) for Nerd Pack. You will be presented with a long list of packages that can be installed. Scan down until you find:

iperf-3.1.6-x86_64-1cf.txz

the latest version when this post was written. Just click the slider on the far right to ON and the package will be installed.

Running iPerf3 in Server Mode on unRAID

Click the Terminal icon >_ in the upper righthand corner of the unRAID window, right below the Uptime display. In the Terminal window that pops up, type the following command:

iperf3 -s

You will see the following server response letting you know it’s listening:

------------------------------------------------
Server listening on 5201
------------------------------------------------

Installing iPerf3 on macOS

The easiest way to install iPerf3 on macOS is to use Homebrew. If you don’t have Homebrew installed, click the Homebrew link in the previous sentence and it will take you to the install instructions. Once Homebrew is installed, installing iPerf3 is as easy as typing the following command in a Terminal window:

brew install iPerf3

Running iPerf3 in Client Mode on macOS

Now that iPerf3 is installed, just type the following command to test your network speed:

iperf3 -c xx:xx:xx:xx

where xx:xx:xx:xx is the IP address of your unRAID server (or more specifically, depending on your setup, the IP address of the 10 GB NIC in your unRAID server). After issuing that command, Terminal will print out (something similar to) the following (in both the client and server terminal windows):

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.09 GBytes  9.35 Gbits/sec                  
[  5]   1.00-2.00   sec  1.08 GBytes  9.30 Gbits/sec                  
[  5]   2.00-3.00   sec  1.09 GBytes  9.40 Gbits/sec                  
[  5]   3.00-4.00   sec  1.09 GBytes  9.37 Gbits/sec                  
[  5]   4.00-5.00   sec  1020 MBytes  8.56 Gbits/sec                  
[  5]   5.00-6.00   sec  1.04 GBytes  8.94 Gbits/sec                  
[  5]   6.00-7.00   sec  1.09 GBytes  9.38 Gbits/sec                  
[  5]   7.00-8.00   sec  1.09 GBytes  9.35 Gbits/sec                  
[  5]   8.00-9.00   sec  1.09 GBytes  9.40 Gbits/sec                  
[  5]   9.00-10.00  sec  1.07 GBytes  9.20 Gbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  10.7 GBytes  9.23 Gbits/sec                  sender
[  5]   0.00-10.00  sec  10.7 GBytes  9.23 Gbits/sec                  receiver

Congratulations, you are now riding the light at 10 Gig speeds!

Creating a RAM disk in unRAID (and macOS)

I’ve been playing around with unRAID for about a month now and find it very interesting. I just purchased 2 10 GBE ASUS/Aquantia NICs and wanted to test the network transfer speed.

Unfortunately, one quickly finds out the Array and/or SSD cache read speeds become the bottleneck and you don’t see the full 10 Gbps throughput. In order to mitigate this, I created a RAM disk on the unRAID server and then another RAM disk on my Hackintosh. Creating the macOS RAM disk is easy but it took some digging to find how to create a RAM disk on unRAID. Hopefully this will help anyone trying to create a RAM disk on unRAID moving forward.

Creating a RAM disk in unRAID

  1. Stop the Array.
  2. Go to Settings > SMB
  3. In Samba extra configuration, paste the following:
[ramdisk]
path = /mnt/ramdisk
comment =
browseable = yes
public = yes
writeable = yes
vfs objects =
  1. Click Apply, then Done.
  2. Restart Array.
  3. Mount your Flash drive/share
  4. Open the Go file (inside the Config folder) using a text editor.
  5. Paste the following:
mkdir -p /mnt/ramdisk
  1. Save the Go file.
  2. Reboot the unRAID server.

While the ramdisk will not show up under the Shares tab, it will show up as a share when you connect to your unRAID server. It will also show up in Krusader under /mnt/ramdisk. The size of the RAM disk defaults to half of the available RAM.

Creating a RAM disk in macOS (Catalina)

  1. Open the Terminal app and enter the following command:
diskutil partitionDisk $(hdiutil attach -nomount ram://8388608) 1 GPTFormat APFS 'RAMDisk' '100%'

This will create a 4GB APFS formatted RAMdisk. The RAM amount is specified in blocks. You calculate the RAM amount as follows:

2048 (blocks) * RAM disk size in MB (1GB = 1024MB)

4GB RAM disk = 2048 * 4 * 1024 = 8388608

1GB RAM disk = 2097152

Enjoy!

Favourite Books of 2019

Ah, one of those dreaded “best of” posts. As you can see from my Books page, I managed to read/listen to 71 books this year. Granted, several of them were short stories or novellas, but still, a new record for me! Given this new PR, I thought I would post my 3 favourite books from this year.

While many were good or very good, and a few terrible, these 3 make my best of list because they had super characters, great storylines, and unique twists and turns that kept me thinking about these books long after I finished reading them. All three of these fit into the hard science fiction genre, which is one of my favourites in addition to non-fiction science books.