365 RFCs

Commenting on one RFC a day in honor of the 50th anniversary of the first RFC.

by Darius Kazemi, June 15 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

FML

RFC-166 is titled “Data Reconfiguration Service — an Implementation Specification”. It's authored by the Data Reconfiguration Committee, consisting of R.H. Anderson, V.G. Cerf, E. Harslem, J.F. Heafner, J. Madden, R.M. Metcalfe, A. Shoshani, J.E. White, D.C.M. Wood, and dated May 25th, 1971, one week after SJCC.

The technical content

This RFC is a spec for the Data Reconfiguration Service (see RFC-83 and RFC-138 for background). In brief, it's a service that anyone on the ARPANET can access that lets you specify in a custom language a list of rules you want it to enact on a data stream. For example you could put in rules that say “translate the first 50 bytes of a message to ASCII and insert the letter 'e' in between each letter of the message”. The idea is you could easily translate from one data format to another as needed but you wouldn't need to know a specific programming language to do it, and by using the network you wouldn't even need to have the software installed yourself. It is, as I mention in my article on RFC-138, basically what we know as a web service or a web API today.

The way the DRS works is: the user connects to it through a “control connection”. This is where the user specifies the rules for transforming data that the user would like to run on a data stream. Then the user hooks the program that needs data translation services into the “user connecton”. And lastly, there is a “server connection” that connects the DRS to its own host server.

+------------+              +------+          +---------+
| ORIGINATING|     CC       | DRS  |    SC    | SERVER  |
| USER       |--------------|      |----------| PROCESS |
+------------+     ^        +------+     ^    +---------+
                |           /         |
                |        UC/ <-----\  |
                |         /         \ |
                |   +-----------+    \|
TELNET ---------+   | USER      |     +-- Simplex or Duplex
Protocol            | PROCESS   |         Connections
Connection          +-----------+

       Figure 1.  DRS Network Connections

The control connection uses the TELNET protocol for communication, so the idea is you TELNET from your local terminal directly to the DRS, which is always listening on a well-known socket number at its site. You then give a six-character user ID, and then there are some simple commands for entering a form in the Form Machine Language (yes, FML) and then specifying which sockets you'd like to connect to from your actual program that you plan to hook up to it.

In addition to the above situation where a user wants to connect a process they are running to the DRS for its services, there is also a more “interactive” REPL-style mode. This is where you pretty much just log in via the control connection and hook your user connection back up to your own Telnet process!

The remainder of the document is about the Form Machine Language itself and also discusses the mechanics of input/output streams (via input and output pointers). The language supports arithmetic, translation between different literal types (binary, octal, hex, EBCDIC, ASCII), truncation, deletion, paddding, insertion of fields, parsing of variable length records, string length computation, and more. It is very similar in its core capabilities and purpose to something like sed, a UNIX “stream editor” which was developed just a few years later, though Form Machine Lanugage doesn't support regular expressions.

Analysis

Moreso than other RFC specs, this one seems really well-written. I could imagine implementing my own DRS service in a language of my choice using this spec.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 14 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

A corrected ICP

RFC-165 (PDF) is titled “A Proferred Official Initial Connection Protocol”. It's authored by Jon Postel and dated May 25th, 1971.

The technical content

In RFC-164 it was promised that Postel et al would “clean up the ICP [Initial Connection Protocol] specification”, and this is their deliverable for that, about a week after the SJCC meeting.

This isn't too different from previous ICP specifications, but it notably addresses the issue brought up in RFC-161 by fully incorporating the ICP connection sequence suggested therein, and by suggesting that all sites queue incoming ICP requests.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 13 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Extensive notes from SJCC

RFC-164 is titled “Minutes of Network Working Group Meeting 5/16 through 5/19/71”. It's authored by John Heafner of RAND and dated May 16th through May 19th (the first RFC I've seen with a date range, though the date is implied in the title of the document rather than in the usual header location).

A business note: my ten-month Mozilla Fellowship has supported this project up until now, but that has ended. If you like what I'm doing here, please consider supporting me via my Patreon.

The technical content

Whereas RFC-163 was a brief summary of a portion of the Network Working Group meetings at the Spring Joint Computer Conference, this RFC is the full report, weighing in at 32 pages.

About half of the document contains updates from the various Host sites and related institutions. This is in line with the request of Steve Crocker in RFC-116 a month prior. The updates are in bulleted list form and each site reports:

  • how far along it is in implementing a Network Control Program that follows the spec laid out in RFC-107 along with estimated completion dates if they aren't already done
  • basic hardware availablility
  • services offered
  • protocols supported (NETRJS, TELNET, etc)
  • any relevant notes related to IMP connections
  • other notes

Most sites are either already in compliance with RFC-107, are about a month out from achieving compliance, or are not online yet and make no promises at all.

The MIT Project MAC site reports that they've been playing around with a non-FTP form of ASCII file transfer.

There is a “resource notebook” that “has been compiled and distributed”, containing information on special information about 12 of the 19 total ARPANET sites. This is the kind of physical handbook you'd want if you wanted to know what, for example, the log in procedures are for a site you've never connected to before.

There are updates from various governmental organizations outside of the U.S. military, including Terry Shepard of the Canadian Computer/Communications Task Force, who attended the February NWG meeting described in RFC-101. Apparently one of their computer network worries is related to “the size of the country in relation to the sparseness of the population”. A UK government representative, Eric Foxley, is also present. According to his personal website he was faculty at Nottingham University and also Secretary of the “Inter University Committee on Computing” which dealt with the United Kingdom Computer Board, their government funding source. Rather tantalizingly, his update notes that the UK post office “has plans for a digital network in the distant future”, perhaps related to the Post Office Telecommunications department that provided a kind of pre-Internet ISP in the form of the PSS network in the late 1970s.

There is also an update from EDUCOM, which was a big association for the use of computers in education founded in 1964 . EDUCOM is known today as Educause after a 1998 merger. At one point J.C.R Licklider was on their board of trustees! They would eventually run EDUNET, a network resource accessible by members of the organization. Notably:

They have conducted a survey of 70 universities, polled about their interests in the ARPA network: 60 of 70 are interested, 14 have money and are ready to become sites.

The Network Information Center reports that they plan to have full online document access by the summer of 1971, with the ultimate goal being a file transfer protocol based system that allows remote text editing of documents. The offline (mail-based) distribution system will continue to operate alongside the online system.

The plan is for RFC numbers to “eventually go away” in favor of NIC numbers. (This obviously did not happen as the RFC numbering continues 50 years later.)

Telnet is discussed at the meeting and various “issues were raised but not resolved”. There is discussion of RFC-158, which was written essentially at the same time that these meeting notes were taken but was assigned a lower RFC number as part of the glut of documents that came out of the NWG meeting.

Both the RFC-114 file transfer protocol and the RFC-122 Simple-Minded File System are discussed. The latter is described as “an operational program; not a proposal”. Apparently a bunch of host sites are already using it or soon will be.

Socket structure is going to be further discussed, particularly the issue of whether socket identifiers should be 16 bits or 32 bits, as there is some worry that the TIP/IMP will not be able to handle 32-bit sockets.

The Initial Connection Protocol, with its various race conditions mentioned in RFCs 123, 127, and 151, now has a cleanup committee assigned to it.

As promised in RFC-140, time is set aside for people to talk about the similarities between operating system protocols and network protocols:

An analogy was drawn on the basis that the ARPA Network with its hosts and protocols is in a sense an "operating system" and that a study of what makes a good operating system might help define what makes a good ARPA Network.

There is a presentation by Art J. Berstein of SUNY Stony Brook on the features of a flexible operating system, namely:

  1. a flexible file structure involving directory trees, active file tables, etc.
  2. a process hierarchy involving a “father-son relationship” where a father process can spawn a son process
  3. a system for interprocess communication involving “channels, status return, and software interrupts”

The note-taker notes that these are all primary features of MULTICS.

Then Bob Metcalfe offers a retort of sorts, specifically that while tree structures make sense for operating systems, the network is a directed graph and that solutions that apply to tree structures don't generalize to directed graphs. (A tree structure is like a corporate organization chart where every employee has one person they report to, up to the highest levels of the organization which is the “root” of the tree. A directed graph would be kind of like if you worked at a company and it was possible for you to be your manager's manager... much more wild and freeform.)

The Data Reconfiguration Service committee reports that they have solved the remaining technical issues with RFC-138, and a couple of sites have committed to implement a data reconfiguration service and make it available to the network. However, it seems like RAND is the only site that has really bought in at this point, which makes sense since they are the originators of the proposal.

Next the data management committee presents information related to RFC-144 on sharing data over the network. Dick Winter of the Computer Corporation of America notes that with multiple data computers, data sharing

becomes decentralized.  All data computers have identical hardware and software.  Their objective is to dispose and restructure data throughout the Net to optimize its use, i.e., relocate it close to where it is used most heavily.  For small files of wide interest multiple copies can be maintained.

This is extremely similar to the modern concept of a content delivery network, where internet content is replicated in caches distributed around the world so that a user in Tokyo accessing, say, The New York Times, can get their data from a server in Tokyo instead of a server in New York.

Mitre attempted to discuss their data management system with the NWG but it got derailed into a discussion of general principles of data management.

The TIP, or Terminal IMP, is discussed at length. This is essentially an upgrade of the IMP that makes it smarter about things like protocols and line-vs-character communication and so on. Future sites will be installing TIPs instead of IMPs. A site that wants a TIP will need to pay for it. A high end estimate is $100,000, or about $600,000 in 2019 dollars. There is also a lease program offered at $40,000/year ($250k/year in 2019) over three years with a two-year minimum.

Larry Roberts offers some general comments looking at the future of the ARPANET. He notes that:

  • right now the reason to get on the ARPANET is to access services that you don't normally have access to at your own site, though in the future you might connect just to boost your CPU resource (something we do now with “cloud” computing)
  • 1972 is going to be a big year for international sites connecting to ARPANET, with plans for England, Mexico, France, Israel, Australia, Canada, Japan, “etc.”
  • at this point they are already looking at transitioning ARPANET to a civilian organization; AT&T is brought up as a possible organization (though we know now that this will not actually happen)
  • the sites have been “extremely poor and slow” in their progress on NCP development and it's unacceptable that they are still on essentially their first protocol iteration
  • civilian organizations can purchase a TIP but only through a three-year lease and ARPA will be very picky about who they bring on
  • to use the trillion-bit store, they are charging about “10^-4 cents/bit”, which taken literally means storage cost users $0.000001 per bit, or about $1/megabyte

Lastly there is concern about the size of the Network Working group, though there are no definitive takeaways from this discussion.

Analysis

Broadly speaking, this is a very exciting time for the network. Many sites now support many protocols and are actively sharing computing resources, computer time, and knowledge with one another.

For example, not every site is making their own NCP at this point. SRI-ARC is running TENEX, which is a BBN-developed operating system, so they are just waiting for BBN to release the new version of the NCP at which point they'll install it.

I believe Peggy Karp of Mitre is the only woman in attendance at this meeting.

Further reading

Computer Corporation of America checks in and reports that they offer a system that has something called “laser memory”. This must be a reference to the UNICON 690 Laser Mass Memory System by the Precision Instrument Company. This laser memory system powered the trillion-bit store, essentially a giant network hard drive.

According to an ARPA survey, the laser memory system is a permanent physical storage medium and works by using a laser to punch holes of 3 microns in diameter into polyester sheets coated with rhodium metal. For reference, a human hair is about 50 microns wide, so you could fit about two ASCII characters into a space the width of a human hair. It's unclear to me whether it's truly a read-write system, or whether it simply simulates being read-write by considering deleted data to be unused space on the physical strips. I did find a 1972 survey that refers to the UNICON 690-212 as a “non-erasable” storage medium.

According to this 1972 ARPA report the plan was to use the laser memory system as a “tertiary store” so perhaps for backups, with conventional disks providing the read/write mass storage? There is also discussion of timing and access with the laser memory system. Because the system involves polyester strips and servos and lasers and all that stuff, the system needs “between five and ten seconds” to make a file ready for reading or writing.

When querying a database for records, the system is highly dependent on how physically close data records are to one another on these strips: if a query result consists of 10 records that are near each other, it can return the data in less than half a second. If the 10 records are physically scattered on the storage medium, it can take up for 5 seconds.

This 1975 paper from the Computer Corporation of America describes the trillion-bit store in more detail.

Eric Foxley, the UK representative, has a cool online computer museum page with lots of photos.

You can read a history of EDUCOM on their archives. I also stumbled on this neat 1996 interview with Vint Cerf in their archives.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 12 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Notes from SJCC

RFC-163 is titled “Data Transfer Protocols”. It's authored by Vint Cerf of UCLA and dated May 19th, 1971.

The technical content

Cerf is recapping some information discussed in Atlantic City at the long-awaited 1971 Spring Joint Computer Conference. His main points are: they need a formal, agreed-upon file transfer protocol, and they need to figure out how to interpret the file data that is tranferred.

Cerf posits a “Data Manager” that is a process which is always open on each Host that's in charge of sending and receiving files and operates on a well-known, fixed socket number. But you should also be able to send and receive outside of this Data Manager. He discusses “transient files” that don't need to have names, that are used for simply moving data back and forth between active processes rather than for storage.

Analysis

This is kind of a mess but it states at the outset that it's basically informal notes from a meeting of the Data Transfer Committee (which Cerf suggests be renamed the Data Transmission Committee). I'm gathering from the quality of these notes that it was not a very productive meeting...

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 11 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

NETBUGGER3

RFC-162 is titled “NETBUGGER3”. It's authored by Mark Kampe of the UCLA Network Measurement Center and dated May 22nd, 1971.

The technical content

This brief RFC describes NETBUGGER3: a third-level program that itself is designed to help with debugging and simulating third-level programs and protocols. It can also debug (but not simulate) second-level protocols. The impetus was that UCLA Network Measurement Center wanted to write a program to connect to a program running UCLA's Campus Computing Network, but the CCN's server was not yet implemented and wouldn't be for a few months. The NMC folks still wanted to get work, hence Kampe worked on his “third level debugger-simulator”.

So NETBUGGER3 basically pretends to be the remote server running the program you want. It can also act as an intermediary between you and another remote server, acting as a passthrough and examining and even editing data. It's not that different from using developer tools in a web browser that way.

One convenient thing you can do is log in to UCLA NMC via Telnet, start their copy of NETBUGGER3 up, configure it, and then debug whatever service you like from your own site against their NETBUGGER3 server.

Analysis

I like writing NETBUGGER3.

I assume it's named after the third-level layer that it is designed to interact on, and perhaps the implication is that one day there could be a NETBUGGER2 or a NETBUGGER4.

It of course makes sense that the Network Measurement Center would be the place to come up with a useful tool for, well, measuring the network. It does not, however, seem to have been used much, as I can't find any subsequent references to it.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 10 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Extra sockets

RFC-161 is titled “A Solution to the Race Condition in the ICP”. It's authored by Arie Shoshani of System Development Corporation on May 19th, 1971.

The technical content

This RFC responds to a problem (and its attendant solution) brought up by a bunch of UCLA folks in RFC-143. Shoshani claims that their solution only works for certain NCP implementations: for example, UCLA's NCP will drop a message if it can't process it, but SDC's will queue the message for later processing, and UCLA's solution doesn't take queueing into account.

Shoshani suggests that adding an intermediary step involving an extra set of sockets on both sides of the connection will solve the race condition.

Analysis

I'm unsure of how this solution works but maybe it acts as like a buffer or a latch in a control system, which is a pretty common pattern for solving race conditions.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 9 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

A not-so-brief list

RFC-160 is titled “RFC Brief List”. It's unsigned, although its author is listed as the SRI-NIC, which means it was probably Jeanne B. North / Reddy Dively. It's dated May 18th, 1971.

The technical content

This is a list of RFCs up to May 1971. RFCs are listed in RFC number order, and each entry contains a title (or partial title) and the document's NIC number in addition to the RFC number itself.

Analysis

One curious thing here is that it's missing some past RFCs, but that's because the NIC often received and then applied numbers retroactively to the documents. For example, RFC-151 is dated May 10th. And this catalog is dated May 18th. It's possible that Shoshani wrote RFC-151 on May 10th, mailed it to the NIC for distribution, and the NIC hadn't officially assigned it an RFC number by May 18th. It's also possible that this particular RFC is future dated, that it was authored closer to the 10th and given an approximate publication date based on estimates for how long it would take to make enough copies and mail them.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 8 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

No RFC

There is no RFC-159.

Analysis

RFC-159 is mentioned in RFC-158! It's promised as a discussion of Telnet issues. This was, as far as I can tell, never written. I believe the NIC decided to not issue RFC-159 on purpose due to that promise of a future RFC number that was never fulfilled.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 7 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Another pass at Telnet

RFC-158 (PDF with scanned images) is titled “Telnet Protocol: A Proposed Document”, authored by Thomas O'Sullivan of Raytheon. It's dated May 19th, 1971.

The technical content

This is a draft Telnet protocol open to comment from Network Working Group members. It is a rewrite of RFC-137 based on commentary received in the couple weeks since that was published.

Minor but significant technical differences in this new version:

  • A “byte size of 8 bits on the permanent connection” for the Initial Connection Protocol is specified here, probably in response to Shoshani's complaints in RFC-151.
  • Carriage return and line feed are defined by their ASCII hex values.
  • Some shuffling around of definitions of the various Telnet control signals, including the addition of a “hide your input” command to “suppress printing of password”
  • Some functionality around line the size of data chunks to be sent can, per spec, be delegated from the Telnet process to the local Network Control Program (the RFC-137 draft didn't allow for this, and it makes sense that the NCP might want to further break up your messages into something that works better for it)

Also added is a section which is a checklist for minimum viable implementations for Telnet on both the using site (what we'd call the client) and on the serving site (the server). Client and server have simliar checklists, but the client has to provide the necessary terminal conversion code (one example is discussed in RFC-135) and the ability for a local user to input Telnet control signals.

Analysis

I said of RFC-137:

This is an extremely sparse protocol so it's a good thing that it's a draft for discussion. Offhand I can't figure out how any programmer could implement a Telnet program based off of this.

Honestly this revision doesn't really help. The addition of the checklist is nice but even the checklist is sparse. I still think it would be very very difficult to implement Telnet based off of what we have here. Or I guess: given any five programmers implementing Telnet based off of this specification, you are going to find that each of their implementation is probably not compatible with two to four of the other implementations.

I happened upon the original sketch of Figure 2 in this RFC while I was at the Computer History Museum. The version in the official PDF is really poorly scanned and hard to read. The original sketch is in pencil on lined notebook paper:

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

by Darius Kazemi, June 6 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Optimization invitation

RFC-157 is titled “Invitation to the Second Symposium on Problems in the Optimization of Data Communication Systems”. It's by Vint Cerf and dated May 12th, 1971.

The technical content

This is Vint Cerf forwarding on a call for papers from the ACM and the IEEE. They are looking for papers to be submitted to a symposium on data communication optimization. Cerf highly encourages Network Working Group members to submit papers and “to inject their ideas into the published literature”, noting that many RFCs are paper-worthy as-is.

Analysis

Since drafts must be sent to Cerf himself, I'm assuming that he is on the organizing committee and that this RFC is an example of the classic mailing list genre known as “I am on a conference committee, here is our CFP.”

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “@365-rfcs@write.as” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.

Enter your email to subscribe to updates.