A lot of new hardware security keys (Yubikey, Nitrokey, Titan, etc.) now support FIDO2 (aka U2F aka Webauthn aka Passkey; yes it’s a mess). So does OpenSSH. This spells good news for us, because it is far easier to use than previous hardware security types (eg, PKCS#11 and OpenPGP) with ssh. A key benefit of all this, if done correctly, is that it is actually impossible to access the raw SSH private key, and impossible to use it without the presence of the SK and a human touching it.| www.complete.org
What is NNCP? NNCP lets you securely send files, or request remote execution, between systems. It uses asynchronous communication, so the source and destination need never be online simultaneously. NNCP can route requests via intermediate devices – other NNCP nodes, USB sticks, tapes, radios, phones, cloud services, whatever – leading to a network that is highly resilient and flexible. NNCP makes it much easier to communicate with devices that lack Internet connectivity, or have poor Inte...| www.complete.org
I (John Goerzen) maintain a number of archives and mirrors, with a particular emphasis on material important to computing history. Mirrors https://kermit.mirrors.quux.org/ - Authorized mirror of the Kermit project https://nncp.mirrors.quux.org/ - Authorized mirror of the NNCP site, served with Let’s Encrypt TLS certificates http://gopher.quux.org:70/Archives - Archives and mirrors of several Internet history sites Archives The Kermit archives contain current and historic copies of Kermit so...| www.complete.org
Updated: 2024-07-06 Well, I finally decided: it is time to host this site in Gemini. As noted in How this site is built, it is written in org-mode using org-roam, is part of the Small Web, and thus is a perfect fit….. right? I should begin with: I find Gemini to be really appealing. I can actually surf Geminispace as I did Gopherspace and the web decades ago. I don’t really surf the web anymore; I search the web for something specific, but the organic discovery of interesting corners is j...| www.complete.org
Back in my 2019 article “The Desktop Security Nightmare”, I noted that on most of our desktops, we don’t have good control of what data a program can access and when. I noted that we have things like AppArmor, which is something, but not the entire picture. SELinux is so extremely complicated that even Ted T’so had a comment about never getting some of his life back. I don’t like complexity, especially when it comes to security.| www.complete.org
I write this in the context of my decision to ditch Raspberry Pi OS and move everything I possibly can, including my Raspberry Pi devices, to Debian. I will write about that later. But for now, I wanted to comment on something I think is often overlooked and misunderstood by people considering distributions or operating systems: the huge importance of getting security updates in an automated and easy way. Background Let’s assume that these statements are true, which I think are well-support...| www.complete.org
I’ve been getting annoyed with Raspberry Pi OS (Raspbian) for years now. It’s a fork of Debian, but manages to omit some of the most useful things. So I’ve decided to migrate all of my Pis to run pure Debian. These are my reasons: Raspberry Pi OS has, for years now, specified that there is no upgrade path. That is, to get to a newer major release, it’s a reinstall. While I have sometimes worked around this, for a device that is frequently installed in hard-to-reach locations, this is ...| www.complete.org
What is Filespooler? Filespooler lets you request the remote execution of programs, including stdin and environment. It can use tools such as S3, Dropbox, Syncthing, NNCP, ssh, UUCP, USB drives, CDs, etc. as transport; basically, a filesystem is the network for Filespooler. Filespooler is particularly suited to distributed and Asynchronous Communication. Filespooler is a tool in the Unix tradition of “do one thing and do it well.” It is designed to integrate nicely with decoders (to handl...| www.complete.org
The Family Radio Service (FRS) and General Mobile Radio Service (GMRS) are both radio services available to the public in the United States and other countries. FRS requires no license at all; just buy a FRS radio and use it. FRS radios are limited to 2.5 watts on most channels, and 0.5 watts on channels 8-14. GMRS, on the other hand, requires a $35 license. There is no test involved; the person simply applies to the FCC, pays the $35 fee, and receives a license that is valid for 10 years: fo...| www.complete.org
LoRa radios are very long-range (multiple miles/km) using small antennas and very low power. In exchange for this, they give up speed; the longest-range LoRa modes operate at only around 300bps. My lorapipe program aims to provide some nice Unixy interfaces to LoRa. See also XBee SX; those radios are similar, but offer hardware meshing and some additional nice properties. I have written quite a bit about LoRa; see my blog series about LoRa.| www.complete.org
Meshtastic is a Mesh Network consisting of low-power, long-range (many miles/km), small communicators. These are little battery-powered boxes that can optionally link to a phone with Bluetooth or Wifi. The communicators form an automatic mesh and can share text messages or GPS coordinates. All traffic on meshtastic is end-to-end Encrypted. Meshtastic is based on LoRa radios. Sites: https://meshtastic.org/, https://meshtastic.letstalkthis.com/. Austin Mesh is an organization in Austin, TX, tha...| www.complete.org
This note does not have a description yet. Links to this note Ideas for NNCP Projects I sometimes see people read about NNCP and wonder “This sounds great! But… what can I do with it?” This page aims to answer those questions.| www.complete.org
Sometimes we want better-than-firewall security for things. For instance: An industrial control system for a municipal water-treatment plant should never have data come in or out Or, a variant of the industrial control system: it should only permit telemetry and monitoring data out, and nothing else in or out A system dedicated to keeping your GPG private keys secure should only have material to sign (or decrypt) come in, and signatures (or decrypted data) go out A system keeping your tax rec...| www.complete.org
Anything that uses encryption to keep content away from spying eyes. End-to-end encryption is the best, because there need be no trusted intermediary. Some software projects are always fully end-to-end encrypted. Examples include NNCP, Syncthing, Yggdrasil, and Gemini. For more on encryption, see: OpenPGP tools: GnuPG (GPG) Sequoia PGP Age (Encryption) signify (not encryption, but cryptographic authentication) Links to this note Encrypting Filespooler Jobs With Age Like the process described ...| www.complete.org
Welcome. This will be fast. This guide describes how you can contribute to software projects here using the Git version-control system. Git is a distributed VCS, so you do not need to be granted commit access in advance. You can hack, commit, and then send in your patches without permission from anyone. Step 1: Get Git These instructions assume you have git 1.5.1 or above. Debian or Ubuntu: apt-get install git-core git-email| www.complete.org
I was a bicyclist until about 2012, and was interested in using Amateur Radio on my bicycle. This page reflects the experience through then. My experience so far I participated in the MCC Flatlander bicycle ride in September 2010. For that ride, I had my VX-7R in the back pocket of my jersey, with its standard rubber duck antenna. I had the earpiece with PTT button hooked up to it.| www.complete.org
Here are some brief notes on ham radios. For some background information and what to do once you have your radio, see Getting Started With Amateur Radio. Your First Equipment It’s pretty easy to get your first equipment. The easiest device you could get is a handheld radio, also called a HT. It’s a self-contained unit, can often run off battery power, and has an integrated “rubber duckie” antenna. These can be found for under $300 on sites like gigaparts.| www.complete.org
Amtrak is the only cross-country passenger railroad in the United States. Outside a few regions, Amtrak is usually the only way to travel state-to-state by rail, and is the only regular option for cross-country travel by rail. Amtrak operates the trains, and mostly runs on tracks owned by freight railroads. Amtrak is a quasi-governmental corporation, created in 1971 when the passenger railroads at the time wanted to get out of the passenger business.| www.complete.org
This information is from 2008 but should be reasonably useful still. Most trains and stations are accessible to people with most any disability, but there are some tips to make your trip easier. Also, note that even if you have no disability per se but just have trouble walking around a large station or up and down stairs, some of this may apply to you as well. Making Your Reservation Generally, you should inform your travel agent or Amtrak agent of your disability at the time you make your r...| www.complete.org
This information may be dated. Introduction There are, in general, two types of food available while on an Amtrak train: restaurant-style service in the dining car, and more fast-food fare in the snack or observation car. Short-distance trains typically will not have a dining car, while trains that operate overnight almost always will. Dining Car In general, you will find the dining car prices roughly similar to typical sit-down restaurants. The menu offers a number of choices, but due to the...| www.complete.org
Note: this page was last updated in 2008. Some of these links are dated but the information they discuss is still online and discoverable via search. Amtrak Official Websites Amtrak homepage Amtrak reservation system Trip planning and background information from Amtrak En-route train status – on the Amtrak homepage Savings and specials index Amtrak Guest Rewards frequent traveler program. Amtrak Vacations - travel, hotel, and entertainment packages. Third-Party Information Sites Long-Distan...| www.complete.org
This was last updated in 2008 and may be dated. In general, Amtrak’s policies for carry-on baggage are more permissive than airlines. In particular, while Amtrak does have a limit on the number of carry-on bags, items such as purses, briefcases, laptop bags, strollers, diaper bags, car seats, and medical equipment do not count towards the limit. Please see Amtrak’s full baggage information & policy before you travel. Links to this note Amtrak Amtrak is the only cross-country passenger rai...| www.complete.org
Introduction A train station is simply a point where you get on or off a train. Train stations take many forms. Some are magnificent, massive, and historic buildings; others are cozy small-town stations; and still others are nothing but a shack or a roof by the rails. Some stations have restaurants, shopping, rental cars, and taxi stands within their walls. Most are downtown in the cities they serve, meaning that having a layover on Amtrak can be fun rather than tedious as it often is with ai...| www.complete.org
Asynchronous communication is communication between two endpoints that doesn’t have to happen in real time or near-real-time. Compared to synchronous communication, asynchronous communication lets you trade latency for reliability. Asynchronous communication is closely related to the concept of store-and-forward networking and delay/disruption-tolerant networking. In fact, most asynchronous implementations are also store-and-forward and delay-tolerant, so these terms are often used intercha...| www.complete.org
Profiting from convincing (or, perhaps more accurately, “manipulating”) people to pay attention. Big Social Media sites like Facebook are part of the attention economy: you pay nothing to use the site. In fact, you are the product; they sell your attention to advertisers, and therefore design their product to maximize their profits by manipulating you to spend more time on the site. The attention economy is sometimes associated with: loss of free will loss of Privacy psychological harm al...| www.complete.org
For an introduction, take a look at the Packet Radio and Kansas Amateur Radio pages. Major Nodes The major 24/7 nodes in the area run on 145.070MHz. They are: N0KTA Packet Radio Node (Mulvane/Wichita) Call: N0KTA Node: KSMLV (N0KTA) BBS: MLVBOX (N0KTA-1) Owner, maintainer, and sysop: Joe N0KTA Equipment: Kantronics KPC-3+ with PBBS, no PC. 50W @ 120ft Getting Involved The basic page at Packet Radio may help. Sedgwick Co. RACES has a helpful page on packet.| www.complete.org
While each child is different and some will not like train travel, the general consensus seems to be that among commercial air, car, and train travel, children do the best with the train. There are several reasons for this. For one, a train is much more spacious than an airplane or a bus (and certainly more spacious than a car or van). On most long-distance trains, you will find family-friendly movies playing in the evenings.| www.complete.org
Filespooler has a powerful concept called a decoder. A decoder is a special command that any Filespooler command that reads a queue needs to use to decode the files within the queue. This concept is a generic one that can support compression, encryption, cryptographic authentication, and so forth. Here I will introduce it as a concept for supporting compression with gzip. This page also functions as a tutorial for encoders and decoders.| www.complete.org
This page may be dated. The basic procedure for converting an existing Linux installation to use ZFS on Linux is outlined here. These instructions are designed for Debian but may be adapted for other systems. If you use LVM, use /dev/mapper/* names with ZFS for best results. Planning This guide is for those familiar with Linux, ZFS, and how Linux boots. If this whole page looks daunting to you, please don’t attempt.| www.complete.org
Debian GNU/Linux is one of the oldest Linux distributions around. Some things that make it somewhat unique: Debian supports many architectures. Of course, the big names such as x86 and ARM (32- and 64-bit for both), but also lesser-known ones. Debian is completely self-organizing by volunteer developers. There is no corporate ownership. The organization that holds its assets, Software in the Public Interest, is also volunteer-controlled. Debian has a strong social contract which emphasizes th...| www.complete.org
Note: This page is a bit dated and doesn’t reflect some newer modes like FT8, but what’s here should generally be correct. Introduction People can use Amateur Radio not just for voice communication, but also for digital communication. This happens all over the bands, from HF through UHF. On VHF and UHF, digital might be D-Star or Packet Radio, which are not discussed here. This page mainly discusses the keyboard-to-keyboard HF modes.| www.complete.org
Email is one of the most common examples of Asynchronous Communication people are familiar with today. It is a store-and-forward approach which is tolerant of temporary disruptions to services and supports multiple hops. Email is also a distributed system, supporting many different servers and providers. However, market forces have caused Google and Microsoft to have an outsized influence on email, and their algorithms and policies make it increasingly difficult for independent mail servers t...| www.complete.org
Like the process described in Encrypting Filespooler Jobs with GPG, Filespooler can handle packets Encrypted with Age (Encryption). Age may be easier than GnuPG in a number of cases, particularly because it can use a person’s existing SSH keypairs for encryption. This process is fundamentally quite similar to handling encryption with GnuPG: we’ll be adding an encryption command in the pipe after prepare, and adding a decoder to the queue processing commands.| www.complete.org
Thanks to Filespooler’s support for decoders, data for filespooler can be Encrypted at rest and only decrypted when Filespooler needs to scan or process a queue. The Compressing Filespooler Jobs page gives an introduction to Filespooler’s decoder support, and should be read before proceeding here, since it illustrates the concepts we will use. This page discusses using Filespooler with GnuPG (GPG). Although often also done with GnuPG, Verifying Filespooler Job Integrity is a problem with ...| www.complete.org
FBB is a Packet Radio BBS. This page has a bit of information about it. FBB Administrators / Sysops For people that maintain FBB. Documentation The main place for documentation is the file formats page under the documentation section of f6fbb.org. What they call init.srv is called /etc/ax25/fbb.conf on my system and has a more friendly but different format. Everything else is pretty much as documented. Initial Tips The first time you run fbb, it creates the config files.| www.complete.org
Purpose of Append-Only Queues In the Using Filespooler over Syncthing example, we synced the entire b64queue directory. This is unnecessary. It would be better to sync only the jobs subdirectory of it, to prevent it looking like a valid queue for processing on the sender. Implications of Append-Only Queues The Filespooler Reference discusses append-only queues. An append-only queue will allow commands that append (fspl queue-write) and commands that inspect (for instance, fspl queue-ls) to su...| www.complete.org
Filespooler is designed to work well in automated situations, including when started from cron or systemd. It is a fairly standard program in that way. I’ll discuss a few thoughts here that may help you architect your system. Generally, the command you would schedule is fspl queue-process so that’s the assumption here. Output By default, Filespooler produces no output itself on success. The commands it executes may, and Filespooler may also when error conditions occur.| www.complete.org
The reference documentation for Filespooler is here: https://salsa.debian.org/jgoerzen/filespooler/-/blob/main/doc/fspl.1.md It includes: Summary of Filespooler Basic description of the on-disk format, queue, and job files Summary of encoding, decoding, and adding files to the queue Installation instructions Environment, exit code, and locking/concurrency. Reference for all subcommands and options. It does NOT include detailed tutorials, which can be found at Filespooler. Links to this note P...| www.complete.org
Foundations of Python Network Programming is now available for purchase (Amazon). This book is designed to show you everything from fundamentals of networking and low-level protocol design to work with higher-level protocols such as IMAP, HTTP, and FTP. For more information, please see the letter to the reader from the book’s back cover. This is not a basic reference like Python comes with. Rather, it’s a hands-on guide. There are over 6600 lines of example code and the text strives to sh...| www.complete.org
“Free (as in freedom) Software” is all about giving you back control of your digital life. Both Debian and the Free Software Foundation have definitions of what it means to be free; in general, it means that you must be able to: Inspect how the software works and modify it (source code access) Give away copies of the software, whether modified or not Base other software upon it, or integrate it into other projects (sometimes with the requirement that these other projects also be Free).| www.complete.org
So, you may have read the material on the Why Get Involved With Amateur Radio? and are wondering how to get started. This has two main components: licensing and equipment. Getting Licensed Amateur Radio is unlike most other radio services in that you get to build your own radios, your own antennas, and operate over a wide range of frequencies. This is different than, say, a cellphone or low-power FRS walkie-talkie, where the government must approve every phone/device that is made, and these m...| www.complete.org
This page describes the basic installation and configuration of NNCP. If you aren’t already familiar with how NNCP works, I highly recommend you start with NNCP Concepts. This is a companion to, and often a parallel of, the Workflow section of the NNCP manual. Installation Main documentation: NNCP Manual: Installation Section. On that page, you can find links to packages for various operating systems. Building from source Alternatively, if you need to build it yourself, you can download a s...| www.complete.org
You can use gitsync-nncp (a tool for Asynchronous syncing of git repositories) atop Filespooler. This page shows how. Please consult the links in this paragraph for background on gitsync-nncp and Filespooler. Basics How you will set up Filespooler depends, of course, on what kind of transport you are using. These examples assume a directory synchronization as with, for instance, Using Filespooler over Syncthing. Of course, other transports are available. There are two things to consider with ...| www.complete.org
Gopher is an interactive Internet browser. It is something of a successor to FTP and predecessor to the Web. Gopher had a brief moment of popularity in the early 1990s, but was eclipsed within a few years by the web. Gopher’s chief innovation was presenting menus that could refer to content across many different servers. This was a contrast to systems of the time, such as FTP or telnet, that had no programmatic way to point to content elsewhere, and made it cumbersome to switch to alternati...| www.complete.org
This was originally published as a post on my blog. This version is intended to be kept up-to-date with developments, and is edited from the original. There is a whole science to manipulating our attention. And because there is a lot of money to be made by doing this well, it means we all encounter attempts to manipulate what we pay attention to each day. What is this, and how is it harmful?| www.complete.org
This site is built for modern clients using Small Technology. It is served from static files, which are themselves small. It should make no references to any resources from other servers, which helps protect the Privacy of visitors. Each page on this site starts as an org-roam note. org-roam helps highlight, make, and maintain links between related concepts, and you will no doubt notice many, many links here. Since org-roam is a layer atop org-mode, the pages are, of course, in org-mode format.| www.complete.org
This page will describe how to run an Internet Kermit server, like the quux.org Kermit Server that was featured in my article Try the Last Internet Kermit Server. I am basing this on the ckermit package in Debian. But these concepts should be broadly applicable to any system. The Internet Kermit Server is known as IKSD. It listens on a TCP port, 1649 by default. This is only one way to access a remote Kermit.| www.complete.org
I sometimes see people read about NNCP and wonder “This sounds great! But… what can I do with it?” This page aims to answer those questions. Either before or after reading this page, you might find these three pages useful: NNCP NNCP Concepts Getting Started with NNCP Asynchronous Communication A Quick Word on Background NNCP frees you from the tyranny of online. Compared to something like ssh, with NNCP, you trade latency for reliability and flexibility.| www.complete.org
This page is intended to describe how to run Debian’s backports on a Raspberry Pi running Raspberry Pi OS (Raspbian). This page is not relevant if you are directly running Debian on a Raspberry Pi. It is only for those running the default Raspberry Pi OS. Backports is Debian’s way of building newer packages for its stable releases. I intend this page specifically to help people run the Debian packages for NNCP and Yggdrasil, both of which are maintained by me, John Goerzen.| www.complete.org
Amateur Radio really a very interesting hobby. It is the most versatile radio service available in many ways. Users of amateur radio get to choose their own radios and antennas, and can even design and build these things themselves if they like. They can operate with a surprising amount of power in many situations, and can work with all sorts of modes including CW (morse code), voice, and digital. Most other types of radio restrict people to only government-approved radios, certain specific c...| www.complete.org
It seems that lately I’ve written several shell implementations of a simple queue that enforces ordered execution of jobs that may arrive out of order. After writing this for the nth time in bash, I decided it was time to do it properly. But first, a word on the why of it all. Why did I bother? My needs arose primarily from handling Backups over Asynchronous Communication methods - in this case, NNCP.| www.complete.org
I am a programmer, manager, hobbyist, advocate, volunteer, dad, and nature lover. I live out on an old farmstead in rural Kansas that once belonged to my grandparents. The nearest paved road is about 3 miles away, and the nearest town (population 600) is 7 miles away. I have three incredible children, which I might occasionally mention on my blog. I am the manager of www.complete.org and quux.org. Social & Contacts I write a lot on my blog.| www.complete.org
John Goerzen’s Legacy Projects Please see the list of current software and the caveats about the below table on the main software index page. This table was last updated in January 2006, even though it was likely very dated by then already. Program Language Description Links Debian From Scratch (DFS) Haskell A bootable CD-ROM containing one of the most powerful Linux rescue environments ever as well as a system for installing any of four versions of Debian onto a disk.| www.complete.org
You can use these if you’d like to send John Goerzen an email or verify my signature. Current key -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBExFolsBEADCvssdqr5nIcEhh9KJMjlftvDJeK28O3QN+tXwFZNWTRr6dXjt pJwLjc9tBpzhr5VVvK5w1HexF7qdhg/ptXSkrb6BUiaAgoBEfFU5qqASqnNmLMm3 9P5EWNLhAHbCWnjruA8kBC3GWF2K7lyfTRWec060ZwAek7IHg5NXuF47sk5Fu3Nf GVoEzqPyU4NktKJZrobvXlV56sz9YmtS+dAM9dC98ahJjKJt4/TV3Q8bDR1m2tHj QbIeC7Yvntu5pNlMBXFul+Qi9Ef069VcofkDhZFOjKbUHhUUux2O2no8nXHWVaz4 XsdW6seV1g9UHQLJsH7UIwnPVRtfwcuZumY...| www.complete.org
Here is information on papers, documentation, and publications written by John Goerzen. Books - As Author I’ve written several books: Real World Haskell The most comprehensive book in existence on using Haskell, an advanced purely functional programming language, to quickly solve everyday problems. As usual with books I’m involved with, it’s loaded with source code and examples. More info: My Real World Haskell page Homepage: http://www.realworldhaskell.org/ Publisher: O’Reilly Pages:...| www.complete.org
This page gives you references to software by John Goerzen. I once tried to list every software project I made significant contributions to on this page. By January 2006, I had more than 40 items listed on this page, and it was missing quite a few. So instead of trying to provide a full list here, I will instead try to provide you with links to find my software yourself.| www.complete.org
Amateur Radio in Kansas Repeaters The official list of coordinated repeaters in Kansas from the Kansas Repeater Council. K-LINK large repeater system: Repeater Frequency List Coverage maps: 2m and 440 MHz K0HAM/NEKSUN Repeater Builder’s Group: NE KS Linked repeater system along I-35 from Eldorado to KC and on I-70 from Manhattan to Aullville, MO totaling 38 repeaters throughout the midwest. It covers 5m through 70cm frequencies. Matfield Green, 147.045 PL88.5 is closest to Wichita, followed...| www.complete.org
For 14 years, from 1995 to 2009, Complete.Org (managed by John Goerzen) has hosted various mailing lists. As of October 2009, no mailing lists are hosted here any longer. Here you will find a reference to help you find current information about the projects that were once here. This includes only public lists; ones that were not publicly advertised for internal communications of organizations and the like are not listed here.| www.complete.org
Before proceeding, start with the Packet Radio page. Linux has the world’s best support for packet radio built right into the operating system. AX.25, NET/ROM, and ROSE are all directly supported in the Linux kernel. There is also substantial userland support for packet. Getting Started Guides There are some HOWTOs out there about getting started. Here are some links: Configuring Linux AX.25 – a very useful site Linux Amateur Radio AX.| www.complete.org
Train travel is a modern, fun, and fast way to travel all across the United States and the world. Here you can learn all about it. This page links you to information all about the nation’s cross-country passenger railroad, Amtrak. Why Take the Train? Did you know that it can be faster than air travel in some areas, offers one-of-a-kind scenery in others, and is usually surprisingly inexpensive? Amtrak On-Board Experience The experience on the train: what you’ll see, dining options, types ...| www.complete.org
The care and feeding of an NNCP installation. NNCP needs little care, but it there are a few things that can help. NNCP’s administration page is a good place to read about this. My Debian packages do some of this for you, and provide examples for much of the rest as well. Rotate the log file NNCP has a log file, which by default is under the spool directory (/var/spool/nncp by default).| www.complete.org
Since Filespooler is an ordered queue processor by default, it normally insists on a tight mapping between the sequence numbers in job files and execution order in a queue. This poses challenges when you want to send data from multiple sources to a single destination. There are two main strategies for doing this: On the receiving side, maintain a separate queue for each origin. This is quite easy to do, since Filespooler queues are very lightweight.| www.complete.org
A network in which the nodes typically discover each other and the routes between each other automatically. Examples of mesh networks include Yggdrasil, Meshtastic, and Syncthing. A basic description of mesh networking is at https://en.wikipedia.org/wiki/Mesh_networking Some of my articles about mesh networking include: Easily Accessing All Your Stuff with a Zero-Trust Mesh VPN, which discusses different types of meshes as VPNs. Using Yggdrasil As an Automatic Mesh Fabric to Connect All Your ...| www.complete.org
Age is a public-key encryption system, similar in certain concepts to GnuPG (GPG), but simpler because it isn’t focused on building a web of trust. Homepage: https://github.com/FiloSottile/age Conveniently, Age can use not just its own keypairs, but also a person’s SSH keypairs for encryption and decryption. This is nice because many systems already have authenticated SSH keypairs for each other. Links to this note Encrypting Filespooler Jobs With Age Like the process described in Encrypt...| www.complete.org
“Airgap” refers to a computer (or network) that is physically disconnected from a larger network and the Internet. This word originated in the pre-wifi days, when there was literally air between machines; that is, no connecting communication cables. Nowadays, it also refers to a lack of radio (wifi or otherwise) communication. That is, it is complete physical isolation. Airgapped systems are often desirable in situations where Computer Security is important. For instance:| www.complete.org
Amateur radio is a radio service in which people are allowed and encouraged to build their own radios, antennas, and so forth. It can be used to communicate all around the globe without any intervening infrastructure such as satellites or cables. Information for other hams If you’re a ham looking me up, this is relevant information: My callsign is KR0L and my name is John Goerzen I was initially licensed as KD0MJT, which was used from July to October 2010 Some information about me, includin...| www.complete.org
General & First-Time Questions How much does it cost? Generally, I have found train travel to be competitive with iir, bus, or car travel. Of course, the specifics will vary depending on where you are going, when, and on what train. Check out the How to Travel by Amtrak page for information on getting fares online or by phone. Also, there are lots of discounts available. Where can I go? Amtrak has over 500 stations in 46 states.| www.complete.org
Let’s talk about what you can expect on the train. We’ll start with the layout of the train, and go on to describe different parts of it. Scroll down for more. The Train Itself Let’s start with the train itself. At the front of the train you’ll find one or more locomotives (engines) that power the train. In most of the country, the locomotives are diesel-electric, meaning they have diesel engines that generate electricity to power the motors that drive the train, as well as lights, ou...| www.complete.org
Sleeping Car Bedrooms These are generally offered on trains that travel overnight (though you can of course use them during the day as well.) Sleeping car accommodations are considered first-class service, and in addition to the room, you get several other amenities: free meals in the dining car (including everything – even desert – except alcoholic beverages), free morning paper each day, free coffee, free bottled beverages, and the ability to use Amtrak’s first-class waiting areas in ...| www.complete.org
In my writing about dar, I recently made that point that dar is a filesystem differ and patcher. We can exploit this property to do something really cool: build an Asynchronous rsync. What does that mean? rsync is a tool that has been in may *nix admins’ toolboxes for years. Typically used over ssh, rsync will compare the state of a local directory tree (or file) to the state of a remote tree, and efficiently make the remote match the local (or vice-versa).| www.complete.org
A mobile phone operating system based on the Linux kernel. You can do some interesting stuff on it with Termux. Links to this note NNCP on Android To use NNCP on Android, we need a way to build and run it. The easiest option for that is Termux. Building an Asynchronous, Internet-Optional Instant Messaging System I loaded up this title with buzzwords. The basic idea is that IM systems shouldn’t have to only use the Internet.| www.complete.org
Angel Flight is the name for a number of regional charities. They all operate in basically the same way: People that need transportation, usually to non-emergency medical care at a distance, contact Angel Flight. Angel flight matches them up with pilots. Pilots volunteer the use of their time and aircraft, and cover all the costs such as fuel, of the flights. Typical examples of transportation might be to specialist cancer care at distant facilities, taking children to specialist children’s...| www.complete.org
The most widely-used form of Packet Radio, APRS lets stations transmit periodic position beacons, send messages, and other information and forms a self-organizing Mesh Network with the possibility of propagation by both radios and, less frequently, Internet. Links to this note Kansas Amateur Radio Amateur Radio in Kansas Using the Kenwood TH-D72A With PC APRS Software The TH-D72A is a very nice handheld Amateur Radio Transceiver. Among other things, it has an integrated GPS, built-in APRS fun...| www.complete.org
Things that forgot to fall. Links to this note John Goerzen I am a programmer, manager, hobbyist, advocate, volunteer, dad, and nature lover. I live out on an old farmstead in rural Kansas that once belonged to my grandparents. The nearest paved road is about 3 miles away, and the nearest town (population 600) is 7 miles away. I have three incredible children, which I might occasionally mention on my blog.| www.complete.org
I loaded up this title with buzzwords. The basic idea is that IM systems shouldn’t have to only use the Internet. Why not let them be carried across LoRa radios, USB sticks, local Wifi networks, and yes, the Internet? I’ll first discuss how, and then why. How do set it up I’ve talked about most of the pieces here already: Delta Chat, which is an IM app that uses mail servers (SMTP and IMAP) as transport, and OpenPGP encryption for security.| www.complete.org
Keeping your (digital) bits secure. See also Airgap, Encrypted. My page Consider Security First discusses the importance of security in an operating system. (this page is a stub and will be improved) Links to this note Airgap “Airgap” refers to a computer (or network) that is physically disconnected from a larger network and the Internet. Ideas for NNCP Projects I sometimes see people read about NNCP and wonder “This sounds great!| www.complete.org
Science fiction author, technologist, advocate for democratization of the Internet and society. Links to this note Attention Economy Profiting from convincing (or, perhaps more accurately, “manipulating”) people to pay attention. Big Social Media sites like Facebook are part of the attention economy: you pay nothing to use the site. In fact, you are the product; they sell your attention to advertisers, and therefore design their product to maximize their profits by manipulating you to spe...| www.complete.org
dar is a Backup and archiving tool. You can think of it as as more modern tar. It supports both streaming and random-access modes, supports correct incrementals (unlike GNU tar’s incremental mode), Encryption, various forms of compression, even integrated rdiff deltas. It is an ideal tool for backups over Asynchronous Communication for systems that don’t or can’t run ZFS. Homepage: http://dar.linux.free.fr/ I have written a lot about Dar: I first wrote about Dar in my 2008 roundup of ba...| www.complete.org
Probably everyone is familiar with a regular VPN. The traditional use case is to connect to a corporate or home network from a remote location, and access services as if you were there. But these days, the notion of “corporate network” and “home network” are less based around physical location. For instance, a company may have no particular office at all, may have a number of offices plus a number of people working remotely, and so forth.| www.complete.org
Arguably the most successful platform whose code can be easily modified at runtime. Emacs presents this through the metaphor of a text editor, though the Emacs platform has been about more than that since pretty much its inception. Emacs as a platform hosts email readers, Usenet clients, web and Gopher browsers, games, terminal emulators, sftp clients, chat clients, and even a window manager. With org-mode, most of these (including the email clients) can be linked together with agendas, task ...| www.complete.org
The loose, decentralized confederation of non-profit Social Media sites such as Mastodon, Pixelfed, and PeerTube. They all use ActivityPub for federation. Links to this note Recovering Our Lost Free Will Online: Tools and Techniques That Are Available Now This started out at a post on my blog. This edited version is intended to be kept more up-to-date. How to Join the Fediverse and Cast off the Attention Economy This started as a post on my blog.| www.complete.org
Sometimes with Filespooler, you may wish for your queue processing to effectively re-queue your jobs into other queues. Examples may be: Parallel processing Distributing jobs to various workers There are two approaches to this: Directly reusing the job file in the destination. To do this, you would hard link the job file into the destination queue’s jobs directory. See Parallel Processing of Filespooler Queues for an example of this approach. Alternatively, you could pipe data to fspl prepa...| www.complete.org
Gemini is a modernization of Gopher. It is an example of Small Technology. It uses its own protocol and a document format based on Markdown. Homepage: https://gemini.circumlunar.space/ Links to this note Encrypted Anything that uses encryption to keep content away from spying eyes. Gopher Gopher is an interactive Internet browser. It is something of a successor to FTP and predecessor to the Web. Gopher had a brief moment of popularity in the early 1990s, but was eclipsed within a few years by...| www.complete.org
A distributed version control system. With gitsync-nncp, can be used over Asynchronous Communication. Links to this note Gitsync-Nncp gitsync-nncp is a tool for using Asynchronous Communication tools such as NNCP or Filespooler, or even (with some more work) Syncthing to synchronize git repositories. Many-to-One With Filespooler Since Filespooler is an ordered queue processor by default, it normally insists on a tight mapping between the sequence numbers in job files and execution order in a ...| www.complete.org
gitsync-nncp is a tool for using Asynchronous Communication tools such as NNCP or Filespooler, or even (with some more work) Syncthing to synchronize git repositories. Homepage: https://github.com/jgoerzen/gitsync-nncp The homepage contains information on using gitsync-nncp over NNCP. You can also see: gitsync-nncp over Filespooler Links to this note John Goerzen’s Software This page gives you references to software by John Goerzen. Introduction to Filespooler It seems that lately I’ve wr...| www.complete.org
GnuPG (also known by its command name, gpg) is a tool primarily for public key Encryption and cryptographic authentication. Homepage: https://www.gnupg.org There is a lot of material about GnuPG out there, so I won’t be duplicating it all here. But, I do have some more unique contributions for those familiar with GnuPG: There are alternatives to gpg/gpgv that may be useful in some cases: Age (Encryption) for encryption and signify for authentication.| www.complete.org
Filespooler provides the fspl queue-write command to easily add files to a queue. However, the design of Filespooler intentionally makes it easy to add files to the queue by some other command. For instance, Using Filespooler over Syncthing has Syncthing do the final write, the nncp-file (but not the nncp-exec) method in Using Filespooler over NNCP had NNCP do it, and so forth. This page documents the requirements for a tool to write to the Filespooler queue.| www.complete.org
By default, Filespooler doesn’t do anything special with the output from the commands that fspl queue-process executes. If they write to stdout or stderr, you’ll see this on the controlling terminal or wherever you have piped or redirected it. Since fspl queue-process, by default, will process as many jobs as it can with each invocation, this may result in the output from multiple jobs being concatenated together. In some cases, this may be undesirable.| www.complete.org
A language that slices and dices functions with the same ease that Perl does strings. Links to this note John Goerzen’s Publications Here is information on papers, documentation, and publications written by John Goerzen. Real World Haskell This book is an easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You’ll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications.| www.complete.org
This started as a post on my blog. This edited version is intended to be kept more up-to-date. In How the Attention Economy Hurts You Via Social Media Sites Like Facebook, I wrote about how the Attention Economy in use at big Social Media networks hurts you. In this post, I’m going to suggest what to do about it. Mastodon and the Fediverse When you use Email, you can send a message from an account at Google to one at Yahoo, Microsoft, or any of millions of businesses and organizations runni...| www.complete.org
Introduction Traveling by rail can be a fun, rewarding, exciting, and inexpensive experience. There are lots of Reasons to Travel by Rail. But it’s different in many ways from air or car travel. Read on to learn all about your trip. In the United States, traveling between cities almost always means taking an Amtrak train. Amtrak is the nation’s passenger rail service that began in the early 1970s. Amtrak operates a wide variety of services: small connection trains, long trains that cross ...| www.complete.org
Information on a wide range of topics by John Goerzen| www.complete.org
This page is outdated. Direct install See https://github.com/zfsonlinux/pkg-zfs/wiki/HOWTO-install-Debian-GNU-Linux-to-a-Native-ZFS-Root-Filesystem Install and Convert FIXME: add more detail To install Debian from scratch with ZFS, the basic steps are: Install a base system the normal way, or from my ZFS Rescue Disc. Convert it to ZFS See also ZFS on Linux Links to this note ZFS Rescue Disc This page may be dated. In particular, ZFS can now be installed atop the Debian live CD images.| www.complete.org
Here are some (potentially) interesting topics you can find here: Old and Small Technology and benefits to us today NNCP, which is an Asynchronous, Encrypted, onion-routed, offline-capable way to send data and execute remote commands. Yggdrasil, a network using IPv6 space where IPs are linked to public keys How this site is built (hint: it’s exported from Emacs!) Amateur Radio ZFS on Linux Long-Distance Train Travel in the USA The Grumpy Cricket - an interactive fiction game for children So...| www.complete.org
noun: A beautiful place of sunflowers, rolling hills, and amazing sunsets. A great place to go when you want to go to a place most other people don’t want to go to. Home of one of the country’s most boring highways (I-70) A place where people tend to be real. Links to this note Kansas Amateur Radio Amateur Radio in Kansas John Goerzen I am a programmer, manager, hobbyist, advocate, volunteer, dad, and nature lover.| www.complete.org
Kermit is one of those things I’m fond of that’s really hard to describe. It is: A file transfer protocol for running over serial lines, Modems, or TCP/IP. The protocol is quite flexible, supporting everything from tiny embedded devices with 90-byte packets to streaming over ssh. A FTP- or SFTP-like system-agnostic protocol for looking at directories of files on remote systems, renaming files, deleting them, etc. with a standard process. Capable of operating under extremely challenging co...| www.complete.org
The world’s most popular Free Software operating system, the foundation of Debian, and foundation of much of today’s Internet. Links to this note Android A mobile phone operating system based on the Linux kernel. ZFS One of the more advanced modern filesystems with tons of features; originated on Solaris but now runs on Linux, FreeBSD, and others. ZFS on Linux This is about running ZFS on Linux and Debian. Software and Operating Systems Linux| www.complete.org
Here is a collection of tips for using Amateur Radio on Linux. Pages Here Linux Packet Radio Voice on the SignaLink USB with Linux Includes a section on automatic CQ calling for contests, which is for a SignaLink USB, but could be easily adapted for other devices Mailing Lists (Hams appear to call these “reflectors”) linux-hams, the primary general mailing list for Linux ham discussion. Readers are generally fairly knowledgeable about Linux technically.| www.complete.org
How can you find the size of a file? How can you write an Internet web server? How can you add a GUI to your programs? Why is it important to synchronize data between programs, and how do you do it? All of these questions and more are answered by the Linux Programming Bible. The Linux Programming Bible (Amazon link) is the first and only comprehensive book that takes an in-depth look at programming in Linux.| www.complete.org
This page may be outdated. There is something of a FAQ on how to make the permissions of a ZFS on Linux volume (zvol) stick. In particular, the user and group (uid and gid) of the owner. When using ZFS on Linux, we can make this work by using udev. udev puts out less information about these than about most others, but we can figure it out anyhow. There is a file /lib/udev/rules.| www.complete.org