Category Archives: Internet from Scratch

Thoughts on E Ink Book Readers

We rely on the Internet for education, communication and entertainment, among other things. Because many conceivable ‘no Internet’ scenarios also involve limited access to electricity, e-ink book readers and tablets are a great tool for delivering educational and entertaining content in a small, low power package. In this post I’ll primarily focus on Kindles as they are the devices with which I have the most experience although in the future I will do write ups on a few of the other E Ink devices I’ve used over the years.


  • Low power consumption = LONG battery life
  • Back-lit (usually)
  • Capacity for a large number of books
  • Specifically designed for reading
  • Highly portable

As I mentioned above, Kindles have ridiculously long battery life and are charged via USB which makes them ideal candidates for use in an IFS situation. My children’s Kindles have gone through phases that have seen moderate to heavy use. Even at those times, the battery would go for weeks without needing recharging. A Kindle threatening to die will still provide days of service. This is primarily due to the technology behind the E Ink display. E Ink isn’t an active matrix of LEDs that require a steady supply of electricity. Rather, it is a grid of microcapsules that respond to an electric charge to turn black or white. Once the charge is applied, the microcapsule remains in either the black or white state and no further electricity is required to sustain the image on the screen. Combine this with using your device in airplane mode to kill the power-hungry radios and you can really squeeze the most out of that battery.

The back-lighting on Kindles is essential for reading on nights when/where electric light is unavailable or at a premium. The more modern generations of Kindles offer either auto-adjusting or manually adjustable back-light brightness level, which is a nice feature. The light can be turned off, of course, in daylight conditions to conserve battery life. The E Ink screens don’t reflect light in full sun like glass-screened tablets do.

Computers are good at storing the written word in very small packages. Books and reference works that have very little in the way of images don’t take up much space and a Kindle can be packed tightly with this type of content. While all books, obviously, are of different lengths, have varying amounts of illustration and formatting complexity, it has been estimated that an 8 GB Kindle can hold between 1,500 and 1,800 books. I think that’s pretty good if boredom is a potential concern.

Kindles (and other E Book readers) are purpose built for this one task, reading books. The case design, button layout and operating system are streamlined and optimized for this task. As such, there is very little to get in the way of the experience and nothing going on in the background to waste power and battery life.

With the height, width and weight of a paperback novel and only a fraction of the thickness, Kindles are smaller and more portable than even ‘mini’ tablet computers. The fact that they don’t require a power source for long stretches of use further contributes to their portability.


  • Require a computer to manage (in an IFS situation)
  • Relatively limited functionality

Kindles have a few methods for adding content. Only one of them, however, will work in an IFS situation and that is connecting to a computer via USB. I use Calibre, an open source E Book management application – I’m working on a post specifically on this, so stay tuned. I strongly recommend that you take the time BEFORE an IFS situation presents itself to fill up your device(s) with as much content as possible.

The limited functionality of a dedicated E Book reader is a bit of a pro and con situation. It displays text for reading. Very well. And that’s it. It cannot run any apps, games or display video. You’ll have to find another solution for those tasks.


As with all devices intended for use in your IFS situation, set up and use your E Book reader without Internet. Restore factory settings and attempt to set up your device AND add content without connecting to the Internet. TAKE. GOOD. NOTES. You may have to do it again without being able to Google: how to set up Kindle without wifi. So figure it out now and document it.

Get more than one. Because of their low computing power, relatively small storage space and the fact that they are subsidized by advertisements and the promise of selling content, E Book readers are inexpensive as far as mobile entertainment devices go. Having 2,000 books on your device is great… until someone else wants to read something at the same time as you. Get two or more devices and share the love.


A note on Kindles – Amazon as a company kinda sucks. I’m not advocating Kindles because I think Bezos is some kind of a great guy. I’m giving information about a device I’m familiar with that is really good at serving a particular purpose. Frankly, I’m pretty sure that Amazon loses money on the devices and expects to recoup that money on advertisements and book sales. Since we will be taking part in neither, buying a Kindle and filling it with public domain books and content you may already own is actually a thumb in Bezos’s eye. For what it’s worth.

Further Reading

I’m working on a more detailed look at specifically how to manage content on an Amazon Kindle in an IFS situation and I will replace this promise with a link shortly. Check back regularly for more!

Installing and Configuring Mattermost

Mattermost is a collaboration platform focused on project management and workflow orchestration. While these features may not be applicable to many of the situations for which Internet from Scratch is planning, the basic text communication and filesharing functionality certainly is.

Preparing for Installation

This tutorial will be using the Turnkey Linux Mattermost appliance. Download the ISO for version 17.1 directly from the Turnkey Linux site here. If the file becomes unavailable, you can download it from this site below.

Burn the ISO to a DVD or create a bootable USB drive depending upon what type of device you are running Mattermost on. I’ve run this server on very low powered hardware and have had decent results. As I’m performing my installation for the purpose of writing this tutorial, I will be installing on a virtual machine with 1 CPU core and 1 GB of RAM.

Configure your router to assign a reserved IP address to your server. You must know the MAC address of your server’s network interface to do so. I HIGHLY recommend not skipping this step as failing to assign an IP address before installation can cause hostname issues.


Boot from the installation media and choose Install to Hard Disk. Next, choose Guided – use entire disk and set up LVM unless you have some reason to do otherwise. Next, use the arrow keys on your keyboard to select <Yes>. At the next screen, you may leave the default value of 90%. If you have a particularly small disk in your server and you wish to maximize your storage space, feel free to change it to max. Press enter. You will now be asked if you want to write the changes to the disk. Choose <Yes> and hit enter. Choose <Yes> and hit enter again to install GRUB. After the installation is complete, choose Eject and Reboot and remove your installation media. Press enter to reboot and allow the boot process to continue until you get to the screen below.

The next several screens will prompt you to create and confirm passwords for

  • Root user
  • PostgresSQL
  • Mattermost admin account

Pay attention to the password requirements and please… PEOPLE… Keep track of your passwords! I cannot stress this enough. For the love of God, keep track of your passwords, I’m begging you.

You will now be asked to provide an email address for the Mattermost administrator’s user. Unless you plan on having an email server on your network, this will matter little. Feel free to enter whatever you wish as this can be changed later.

You will now be asked to enter a domain to server Mattermost. If you have a DNS server on your network, enter the FQDN. If you don’t know what any of that means, enter the IP address you have chosen to use with this server. Even if you haven’t yet configured your router to assign an IP address via the MAC address, enter the IP address you PLAN TO USE for the server. This matters, so pay attention and get this part right.

Initialize Hub services – this is a suite of online services provided by Turnkey Linux. We wouldn’t be able to use these services if we wanted to. Press enter to skip this step.

You’ll now be asked for an email address for system notifications and critical safety alerts. See email disclaimer above.

Security Updates – you are not online, select skip.

WOOOOOT! Installation is complete. If the IP addresses in the appliance services menu don’t match the IP you intended to use (and the IP you entered in the domain setup step) resolve that now and reboot the system.


Visit the web interface by entering the FQDN or IP address into your browser. You will almost certainly get some version of this warning:

Since we are not trying to impersonate ourselves and we are not terribly concerned about hackers on our network (quite yet), continue to the website.

Boom. Exactly what we wanted to see. Your username is admin and you configured your password during installation. You wrote it down, right? Enter a name for your organization. I chose Cain Family. This can be changed later. At the next screen, you may enter your FQDN if you have one. If you don’t, erase the IP address that is pre-populated and click the I’ll do this later button. At the How do you plan to use Mattermost screen, choose all that apply. I am choosing none of them and simply hitting Continue. The next screen will prompt you to connect other online services. Obviously we will be skipping this. Next, select a name for your first channel and hit Continue. Click Finish Setup.

We did it! But we still only have one user. Not very exciting. If you log out, you will see that the default configuration for Mattermost is to not allow self-registration. That is, there is no ‘Create Account’ option on the landing page. Let’s fix that. Log in if you must and click the menu icon in the upper left corner and choose System Console. Click Signup under AUTHENTICATION in the menu on the left.

Change Enable Open Server to true and click the blue Save button at the bottom of the page. Upon logging out, you will now see the Don’t have an account? Create one now link on the landing page. You will be told that a valid email is required to create an account… this is a lie. Feel free to make a new account or, better yet, have a friend create one on another device for testing. Assuming you have friends NEEEEERD!

Under the Hood

A handful of useful tools can be accessed by quitting the Mattermost configuration console and logging in as root. Enter root at the mattermost login: prompt and then enter the password you configured at installation. At the root@mattermost ~# prompt, type confconsole to launch the advanced configuration console. Most options are only relevant for Internet connected machines but the network settings can be found here. This is where you can set a static IP address if you are not using DHCP reservation on your router.

You can also reboot and shutdown the machine from this menu.

Using Mattermost

I won’t go into great detail here, you can look at the Mattermost documentation or look it up on youtube, its usage is fairly straightforward. I haven’t personally used any of the planning or workflow features, I’m sure they are adequate. Your mileage may vary.

Final Thoughts

I found that the baseline RAM requirement was about 850 megs. Increasing the virtual machine’s RAM to 2 GB seemed to improve performance.

All in all, this is a straightforward installation and configuration and is a great starting point for people who are interested in the Internet from Scratch project but have very little experience administering servers.

Managing your Hardware Assets

When preparing for the digital apocalypse, it is important to know the capabilities and limitations of your hardware and software. Remember, the point of the exercise is to be prepared for a no or limited Internet situation.

Set up a test network

It is important to have at least two routers on hand. One for production and a backup. I like to configure my network with the 10.0.0.x subnet with addresses 100-254 for the DHCP Pool. I’ll do a more specific post about configuring your network soon. What is important for now is that you know how to configure your router for networking WITHOUT having access to the Internet. Factory reset your router and set it up without connecting the WAN port to the Internet. Checking for Internet connectivity is often the first thing a router will do out of the box. Sometimes the setup process can be difficult to complete without Internet access. Take the time now to figure out the process and document it well. You won’t be able to Google “set up Netgear router without Internet” if you don’t have Internet.

Take good notes

Again, documentation is key. Take good notes either digitally (to print later) or hand write them in a notebook. Printing out pertinent sections of hardware manuals and how-to articles is also a great method of documentation. Not only is this important because you may not remember every detail yourself, someone else may need to take the reigns and configure your hardware using your notes.

Factory reset all the things

Factory reset your routers and switches and set them up from scratch without Internet access. Wipe the hard disks on any computers that you are using in your test environment and re-install the operating system without connecting. Using Windows? find out if all the hardware works out of the box without using Windows Update to get all the necessary drivers. Do you plan on having Apple hardware and software as part of your plan? They can present some unique challenges to an exercise like ours. Take good notes on any quirks you notice or workarounds you have to employ.

The “Cold Spare”

A cold spare refers to any computing component, equipment or device that requires manual configuration and adjustment in the event of issues or total failure. It requires the suspension of normal computer/system operations until the component is repaired and/or replaced.

More succinctly put, a cold spare is a backup piece of hardware that can be swapped out for a failed device. Get your router set up the way you want. Get your DHCP reservations configured, set up your SSID and PSK, etc. Then configure another router exactly the same way. Try swapping one for the other and see what happens. Plan for total self sufficiency… The scenario we are preparing for doesn’t include Amazon Prime delivery of a new router or switch. This goes for servers, access points, whatever. If you only have one of something, you may as well not have it at all.

Freeze your software versions

Under normal circumstances, it is a good idea to keep software and firmware up to date on all devices. In our case, however, we want to find software, drivers, operating system installers, etc. that we can confirm to work without Internet access. For example, you wouldn’t want to do a factory reset on your router, configure and test it, then upgrade the firmware before storing it away for later use. There may be unexpected changes that can cause problems in the future. More on this later in another post.