This is the fifth in a planned series of posts (well, sixth if you count the announcement) where I'll share my experience writing smolver, my Gemini server software, written in Swift.
You can find the previous iterations below. This series has become long enough that I've added a dedicated page for it:
So really, alphas 7, 8, 9 & 10. This post is long overdue, as those alpha builds were released on February 8th, 12th and 13th, respectively.
smolver
command that current lets you run the server, print the version number, or print some basic help information
install.sh
script to simplify smolver installation. This does not address what is still the hardest part of running smolver from scratch: installing the Swift language on your system. I blame Apple.
/path/to/install/of/smolver/smolver run
instead of just /path/to/install/of/smolver run
. It makes sense why this is needed, because creating a production build of the app puts the compiled binary and its other generated files into a single directory, instead of spitting out a single raw binary. At least, that was what I thought was going on at the time. While writing this, I tried copying just the final smolver
binary itself and running it directly via ./smolver
, without any of the other stuff, and it ran fine. I'll have to cleanup the install script and systemd service file accordingly.
This concludes all planned features for v1.0.0, meaning that, barring any major defects, this will be the final alpha build and the next ones will be promoted to beta. As I write that, it sounds inconsequential, but it made me happy to get this far ... it's a nice milestone.
I've added these items to my planned fixes for a second beta build. There are some more pressing stability issues to fix before I'd feel comfortable slapping a 'beta' label on this, so I'll do those first then look at these observations.
Overall, the total lines of code grew only a little bit this time. Running cloc on v0.0.15 returns:
cloc Sources 9 text files. 9 unique files. 0 files ignored. github.com/AlDanial/cloc v 1.86 T=0.08 s (118.7 files/s, 17454.8 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Swift 9 163 240 921 ------------------------------------------------------------------------------- SUM: 9 163 240 921 -------------------------------------------------------------------------------
Running cloc on the current HEAD of the master branch (5a4c4a8b7d8e1709bee42b8f1a6e6f6fcedae29a - I am referencing a hash here instead of a tag because the latest changes include a few commits of simple backlog changes, no source changes), which contains all the fixes and backlog enhancements discussed above, returns:
cloc Sources 12 text files. 12 unique files. 0 files ignored. github.com/AlDanial/cloc v 1.86 T=0.08 s (147.9 files/s, 19551.7 lines/s) ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Swift 12 201 310 1075 ------------------------------------------------------------------------------- SUM: 12 201 310 1075 -------------------------------------------------------------------------------
These numbers do not include dependencies.
That is a growth of 154 lines.
text/gemini; charset=utf-8; lang=en
This content has been proxied by September (3851b).