Low Powered, Least Resource

raspberry-pi-sbc

The technologies available to us have continued to grow exponentially since the twentieth century. No longer are we trying to achieve something more to improve our daily lives, rather we are simply trying to see what we can do next for the sake of creating. Perhaps unwittingly we are also fostering a low effort society comprised of people who have come to expect low effort solutions to their grandest imaginations. We have seen great technological inventions from corporations and subsequently expect we can have access to those same technologies simply because we want to. Data mining companies such as Google, Meta, Microsoft, and Apple have offered so many products for free that people have forgotten (or never knew) there is such an elaborate backbone to make those products work. Do we need these elaborate technological inventions to achieve our goals? Are our goals too elaborate in themselves?

Simple Computer and Network Technologies

There are some basic computing functions most consumers partake in daily; gathering information, processing and analyzing information, organizing information, and communicating information. Websites generally organize and communicate information after it has been gathered and processed. Gathering and processing information can largely happen in an automated or partially automated fashion. However, there are certainly offline, paper-based information sets that would need to be digitized. Modern websites are largely built upon content management systems which consist of HTML, PHP, CSS, and SQL databases. These sites require a web server and a database server, two servers to convey a single web page which is composed every time it is accessed. There is processing power to be consumed (albeit little) each time the page is accessed by a single visitor. Where as the page could have been written once, stored once, and served many in a static fashion. Proxy or caching servers could store copies of the static pages on local networks thus preserving bandwidth of remote servers and Internet traffic. This was the way of the Internet before broadband was ubiquitous. However, with broadband speeds came human craving for constant streams of information. No longer were libraries of information valuable any more. Technologies such as HTTP servers, SSH protocol, Gopher protocol, proxy servers, Wi-Fi, wget, curl, ftp, and many programming and scripting languages are available to allow us to gather, process, organize, and communicate information. These simple technologies have been around for decades. Many are using them very passively and without consideration for what could be achieved with less impact.

LPLP Principle

The LPLR principle states that we should leverage the least amount of resources to complete a task and those resources should be configured to use the least amount of energy required. In practice this looks like the following:

  • Using a single board computer or a power sipping machine instead of a full desktop or rack unit.
  • Leveraging an HTTP server to static share files versus a CMS to share the same information.
  • Working from a terminal when a terminal will do and using a GUI when a GUI is needed. Thus reducing processing cycles and RAM utilization.
  • Leveraging scripting, scheduled tasks, and automation to complete repetitive tasks.
  • Off-loading intensive processing during times of day when energy may cost less to produce or consume.

The majority of computers produced are designed to support the Microsoft operating system. Apple Computer produces hardware specifically for their operating system. Computer manufacturers are designing and releasing new models year after year. The processors are faster, the capacity of memory and storage space are larger, the physical size is sometimes smaller. However, many consumers simply consume information from the internet in the form of text, audio, and video. They do not crunch large data sets or compute quantum physics equations. They are often using overpowered devices for the tasks they are pursuing. However, the computers are under powered for the operating systems they are running. After a few months or years, computers running Windows will begin to slow down. They become increasingly less responsive and eventually will be upgraded or replaced. LPLR applies to operating systems as much as it does to hardware. Therefore alternative operating systems should be explored and leveraged in order to effectively practice LPLR. Linux based operating systems are an easy alternative. Linux can be installed on countless types of computers. It also can make great use of otherwise discarded Windows machines and therefore enables people to bring new life to their aging computers. This keeps e-waste out of landfills and reduces the demand for yet another computer to be made just so someone can surf the Internet.

LPLR in Daily Practice

As a daily practice LPLR could look like a Raspberry Pi4 or other single board computer as a daily driver. The desktop computer would accomplish most consumer tasks and can even support some games. Another Pi or similar computer could serve as a home server running OpenSSH server to serve files to the Pi and any other device on the user\\’s home network such as a smartphone. It may make sense to leverage a platform such as Nextcloud from another RPi on the network. While Nextcloud is more than just an HTTP or OpenSSH server, it running on a low powered single-board computer still falls within LPLR for most. Nextcloud has a host of apps which can be added on to it. However, we should consider if the apps are need or simply nice to have. My daily practice of LPLR is being developed and refined. Currently my daily driver is an HP 6300 desktop computer running Linux Mint. My mobile devices are a 2014 model Samsung Chromebook running GalliumOS and an Android phone. I make use of the desktop even while away from it through SSH. In doing this I realize I am technically using more electricity by keeping the desktop running every day. However, I use the desktop to gather information in the form of scripted downloads, torrent files, and it runs a few cron jobs which process information. Since the desktop is my daily driver I leverage multiplexed terminal sessions on it to keep my environment consistent. I have leveraged several other RPis on my network for other tasks. While they are multiple machines, they all serve a different primary purpose at a significant power savings over their beefier counterparts. Virtual machines could have been employed to replace the Pis. A bare metal hypervisor would still draw more power idle than the pies do. I have leveraged the Pi4 as a desktop in the past and with fair success. I may go back to it or another lower powered solution in the future. For now the combination of the HP desktop, Chromebook, and Android phone is working well for me. ## Terminal Sessions

A Word about Terminal Sessions

Terminals sessions are outside of the scope of this essay. However, they are well within the LPLR principle. Terminal sessions and terminal applications are excellent at running on low powered computers. Terminal or command line applications are generally very fast, require far less power to run and because of SSH remote sessions can be accessed remotely with far less power and effort. From within a terminal session I can browse the web, listen to streaming music, email, write, manage file downloads, administer my servers, read the bible and other books, view RSS feeds, browse reddit, download files and more. And all of this is done within a single desktop application. Compare that to running Chrome, Outlook or Thunderbird, a file manager, Spotify, a RSS viewer, and possibly something like Putty to admin servers. I do not even need a GUI desktop to make any of it possible. Terminal sessions to take some time to be familiar with when coming from a GUI environment. Still, they are very usable. I have used nano to write this very essay. ## Conclusion

Conclusion

LPLR is a practical principal which can be leveraged against almost anything we do. It asks us to pause and think about the effort we are making, the end-game we seek to achieve, and the sustainability of it all. LPLR is what spawned the conversion of my WordPress based blog into what you see here now. Consider LPLR in your daily computing.