Did a lines of code count on AuraGem's server. Turns out it was much larger than I expected, lol. 12,000 lines of Go code for AuraGem proper, and 7,000 for SIS (the server library/software). Didn't realize AuraGem got so big.

=> ๐Ÿš€ clseibold

Jan 14 ยท 5 days ago ยท ๐Ÿ‘ bronzie94

4 Comments โ†“

=> ๐Ÿš€ stack ยท Jan 14 at 19:02:

That is kind of nuts!

=> ๐Ÿš€ clseibold [OP] ยท Jan 14 at 19:27:

Yeah. 7,000 for SIS makes sense, since it's more of a server "suite" that supports nex, gopher, gemini, spartan, and scroll, as well as SCGI and CGI. But the fact that all of that is almost half of AuraGem's capsule code is crazy.

Some of AuraGem's stuff is broken atm, and some of it I haven't technically finished and announced yet (like my experimental open world gemini text game). That accounts for some of the lines at least. The radio and music stuff only takes up 2,000 loc, surprisingly.

=> ๐Ÿ˜ˆ dimkr ยท Jan 15 at 07:02:

7k is really not much, tootik (ActivityPub+Gemini+Titan+Gopher+finger server, doesn't use external packages for any of these) is about 10k (~25k with tests and DB migrations)

=> ๐Ÿš€ clseibold [OP] ยท Jan 15 at 07:06:

@dimkr Agreed. 7K isn't much. 7K for SIS makes sense because it's a suite. And what I really meant by that was to explain why it's not like a 2K Gemini server - it's not 2K because it supports way more than a minimal Gemini server. Even has support for converting between gemtext, gophermap, nex, etc. for proxying.

12K for AuraGem is quite a bit though. Almost double SIS itself.

The line counts I provided don't include the lines for external golang packages, btw. (SIS doesn't use other packages outside of the standard library for the networking code, however.)

What was mainly surprising to me was that SIS is significantly more complicated and complex than AuraGem's code, and yet is almost half of AuraGem! AuraGem is not very complicated code at all, and I'm not even including the Search Engine crawler in the line counts because that's a different repo.

Just to be clear, AuraGem uses SIS as a library, so I'm talking about AuraGem's code excluding SIS itself. There are also no tests.

Technically, AuraGem plus SIS is 19K lines of just golang code.

Proxy Information
Original URL
gemini://bbs.geminispace.org/u/clseibold/23845
Status Code
Success (20)
Meta
text/gemini; charset=utf-8
Capsule Response Time
82.075788 milliseconds
Gemini-to-HTML Time
0.564437 milliseconds

This content has been proxied by September (ba2dc).