i4-article-tgtimes-most-minimal-gopher-server.md - tgtimes - The Gopher Times Err bitreich.org 70 hgit clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes URL:git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes bitreich.org 70 1Log /scm/tgtimes/log.gph bitreich.org 70 1Files /scm/tgtimes/files.gph bitreich.org 70 1Refs /scm/tgtimes/refs.gph bitreich.org 70 1Tags /scm/tgtimes/tag bitreich.org 70 1README /scm/tgtimes/file/README.md.gph bitreich.org 70 i--- Err bitreich.org 70 i4-article-tgtimes-most-minimal-gopher-server.md (2360B) Err bitreich.org 70 i--- Err bitreich.org 70 i 1 # Most minimal Gopher server by tgtimes Err bitreich.org 70 i 2 Err bitreich.org 70 i 3 Gopher is a protocol providing a gateway to a document system, allowing Err bitreich.org 70 i 4 to serve an organized hierarchy of files over the network. Dynamically Err bitreich.org 70 i 5 generating the content as per user requests is also possible. The client Err bitreich.org 70 i 6 side is in charge of rendering the content as it sees fit. Err bitreich.org 70 i 7 Err bitreich.org 70 i 8 Generating Gopher indexes and transmitting file contents or generated Err bitreich.org 70 i 9 contents is low in software compmlexity, and in turn allows less expensive Err bitreich.org 70 i 10 hardware to be run than complex web stacks. Err bitreich.org 70 i 11 Err bitreich.org 70 i 12 Which cost would we end-up for building a minimal piece of hardware able Err bitreich.org 70 i 13 to host the Gopher protocol acheiving all of the above? Err bitreich.org 70 i 14 The Gopher Times investigates. Err bitreich.org 70 i 15 Err bitreich.org 70 i 16 ## Communication Err bitreich.org 70 i 17 While WiFi is inexpensive and fits moving device gracefully, the Err bitreich.org 70 i 18 reliability of Ethernet is indicated for a server. Ethernet adds Err bitreich.org 70 i 19 1 USD of cost for the transceiver handling the electricial characteristics Err bitreich.org 70 i 20 of Ethernet. These typically expose an RGMII interface. Err bitreich.org 70 i 21 Err bitreich.org 70 i 22 ## Processing Err bitreich.org 70 i 23 A microcontroller featuring an Ethernet peripheral (with an RGMII Err bitreich.org 70 i 24 interface) could be the popular STM32F103, or an alternative Err bitreich.org 70 i 25 compatible part. Enough processing power would be present for an Err bitreich.org 70 i 26 embedded TCP/IP and a TLS stack. Err bitreich.org 70 i 27 Err bitreich.org 70 i 28 ## Automation Err bitreich.org 70 i 29 In addition, most microcontrollers feature a large range of Err bitreich.org 70 i 30 built-in peripheral such as timers and communication or analog Err bitreich.org 70 i 31 interfaces, enabling automation of devices such as lighting, Err bitreich.org 70 i 32 heating, laundry, motors, or an entire car, through external Err bitreich.org 70 i 33 modules. This would come for no extra cost. Err bitreich.org 70 i 34 Err bitreich.org 70 i 35 ## Storage Err bitreich.org 70 i 36 A slot for a MicroSD card would allow storing and updating Err bitreich.org 70 i 37 the static content to serve, and storing network configuration. Err bitreich.org 70 i 38 Err bitreich.org 70 i 39 ## Scripting Err bitreich.org 70 i 40 There exist project to fit programming languages onto microcontrollers. Err bitreich.org 70 i 41 Separate projects for supporting a subset of each of Python, Ruby, Err bitreich.org 70 i 42 Javscript, Go, Rust, Lua, Forth and more. Err bitreich.org 70 i 43 Err bitreich.org 70 i 44 ## Power Err bitreich.org 70 i 45 By letting power supply happen through the USB port, a large range Err bitreich.org 70 i 46 of power source can be used, such as battery, solar panels, wind Err bitreich.org 70 i 47 turbine, hydropower, or power outlet. Err bitreich.org 70 i 48 Err bitreich.org 70 i 49 The bill of materials for such a design would approximate 5 USD. Err bitreich.org 70 i 50 A marketed device with a small margin for the seller could reach Err bitreich.org 70 i 51 as low as 10 USD. Err bitreich.org 70 i 52 Err bitreich.org 70 i 53 Interestingly, such a device would also be able to provide an Err bitreich.org 70 i 54 equivalent Web service able to work with all Web client, but Err bitreich.org 70 i 55 not running the existing popular Web server software stacks Err bitreich.org 70 i 56 known as "Web Frameworks". Err bitreich.org 70 .