Skip to main content


Someone should write a #Fediverse server implementation in a hardware description language like #Verilog or #VHDL. #Fedi #FPGA
in reply to Neil E. Hodges

that sounds fun. I imagine it wouldn't be so fun to just implement a processor in hdl and just compile the server code for it.

It sounds like a really bad match for hdl implementation, which makes it sound fun.

What's the minimum functionality needed to be a fediverse server? Can we do it in hdl with no compiler? With no processor?

Neil E. Hodges reshared this.

in reply to poleguy

Just needs to be able to federate with other server implementations.
in reply to Neil E. Hodges

Ha. Yeah, at the high level that's clearly the requirement. To code this in an hdl we need to translate that into a low level list of features to implement. Can it be done without an os? Without a tcp stack?
in reply to poleguy

@poleguy The scale of the ask, really. Sure, you can theoretically fake the output without an OS or network stack or processor, but you'd need to implement something that can produce the same final output as if it had all of the above.

As you said, it's a really bad match for HDL.

in reply to Tathar makes stuff

@Tathar It's not clear to me what the scale of the ask is. Sometimes you can produce a minimum implementation that technically works, but can ignore all/most of the difficult logic. For example we have an FPGA implementation to drive gigabit ethernet with 'fake' udp, and it requires no os or processor. Just a state machine to stuff data we want in there. It's higher bw than real udp would be. Mastodon server would be more than that of course, but how much more? I don't have a clear picture.
in reply to poleguy

@poleguy I think the most-limiting factor would be storage, honestly. An FPGA wouldn't have the on-chip resources to serve anything like Mastodon, regardless of cost.

If we were talking a bare-bones web server hosting logic-generated content, maybe it could be done by someone with a strong understanding of everything that goes into a web server. That wouldn't be me; I fully abandoned web design by the time CSS got popular.

in reply to Tathar makes stuff

@Tathar
https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
I did a little search and I think this writeup represents the current minimum viable server. I actually think that doing valid https would be the hardest part of getting this onto an FPGA (without a processor).
in reply to poleguy

@poleguy The thing with doing this on an FPGA is that all of the things you don't see and don't need to worry about with a conventional web server are suddenly problems that only you can solve.
in reply to Tathar makes stuff

@Tathar Isn't that the exact spirit of the original post? Why aren't others joining in on this grand #fpga dream? :-) We should build this!