.%*.                                                        .-.
               .%@@@+.                                                .--=%@@@-
               =@@@@@@-                                         :--+@@@@@@@@@*
               *@%@@@@@%:                               :--=#@@@@@@@@@@@@#@@+
               @@::%@@@@@@-:                   :::-=%@@@@@@@@@@@@@@%#*-  :@*
              .@@   =@@@@@@@@@+-:::::::-=*@@@@@@@@@@@@@@@@@@@%##-        @@:
              #@#     +%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*:              -@@
              #@-        *%@@@@@@@@@@@@@@@@@%%%#=                       %@=
              @@:             -=+++==     ..                            @@:
              @@        .               -@@@                           +@@
             #@%     =@@@@-            +@@@@#              *+          %@#
             #@-   -@@@@@@@.          +@@@@@%           .%@@@@=        @@:
             @@:  +@@@@@@@@@         +@+ +@@@         %@@@@@@@@@      -@@
             @@  *@%@*  :@@@        *@+  -@@@       %@@@@@@@@@@@#     @@@
            #@% %@ @%    %@@       *@*   .@@@     =@@@*@@   :@@@@     @@:
            %@:## *@+    :@@      :@@     @@@    %@@: @#     .@@@    .@@
            @@:.  @@:    .@@      @@      @@@   %@:  @@       @@%    @@%
            @@   -@@.    =@@     @@.      @@@  %@.  #@-       @@#    @@.
           %@%   +@@.    @@.    %@-       @@@ #@    @@.      :@@    -@@
           %@:   +@@+   .@%    #@=        @@@.@    *@@       +@+    @@*
           @@:   +@@%. .%%    *@+         @@@      %@@      -@#     @@
           @@    :@@@@@@%    :@@          @@%      %@@      @#     *@@
          %@@     #@@@@*     @@           @@%      %@@.    %@.     @@:
          @@:      ===:     @@.           @@%      %@@:  =@%.     .@@
          @@.              #@=            @@%      %@@%+%@#.      @@%
          @@              +@*             @@#      -@@@@@*       .@@
         %@@             :@@              @@#       %@@#:        =@@
         @@:            .@@               @@#        :           @@=
         @@.            @@.               @@#                   :@@
         @@            #@=                @@%                   %@%
        #@@           +@+                 #@%                  .@@
        @@:          =@#                  +@%                  =@%
        @@          :@%                   -@@                  @@+
        @@         .@@                    -@:                 -@@
       -@@         @%                     .:                  *@#
       @@*         #                                          @@.
       @@                                                    =@@
      .@@                                                    @@*
      .@@                                                   .@@
      *@@                                                   =@#
      @@*                                                   @@*
      @@                                                   -@@
     .@@                                                   +@*
     .@@                                                   @@-
     -@@                                                  =@@
     %@%                                                  #@*
     @@                                                   @@:
     @@                                                  +@@
    .@@                                                  %@+
    :@%                                                  @@.
    :@%                                                 *@%
    -@.                                                 %@=
    %@                                                  @@.
    @@                                                 *@%
    @@                                                 %@=
    @%                                                 @@:
   :@%                                                +@@
   :@*                =+-                             #@+
   :@:              .%@@@.                            @@-
   -@              =@@@@@#                           :@@
   =@             *@#.=@@%                           #@%
   *@            #@-  -@@%                           %@-
   @@           #@:   :@@%                           @@:
   @@          #%     .@@%               .#@@*      -@@
   @%         #%      .@@%              +@@@@@-     %@%
   @#        %@       :@@%            .@@@@@@@@     %@:
   @#       %@        :@@%           +@@% .@@@@     @@:
   @#      %@         :@@%          #@@:   :@@@    -@@
   @#     @@.         .@@@        .@@%     .@@@=   %@%
   @#    @@.          .@@@:      %@@-       @@@%   %@:
   @#   @@             @@@@    %@@@         *@@@   @@:
   @# .@@              @@@@@@@@@@=          :@@@   @@
   * @@@               :@@@@@@@@.           :@@@  *@@
.@@@@@%                 -@@@@@.             .@@@  @@=
@@@@@:                    ..                 @@@  @@.
-@%:                                         @@@  @@.
                                             @@@  @@
                                             -@@ =@@
                                             .@@ @@+
                                             .@@:@@.
                                              @@#@-
                                              @@@.
                                              +@-
                                               -
      
mediocregopher's lil web corner

Home  //  Posts  /  Follow  /  RSS  //  Source  /  License

Siamo Tornati!

- We're back!


Sometime in mid-August the homeserver was shut down in order to be packed. In the weeks that followed we executed an enormous life change: we now live in Italy! It's been a long, difficult journey, but I'm happy to say we've safely arrived and are settling in.

I'm happy to say that the homeserver safely arrived as well. It was disassembled completely, with each component packed individually and securely, such that nothing could rattle or be in danger of absorbing any pointed shocks. The hard drives were packed with bubble wrap into a cast iron pot for extra protection.

So far (with only one false-alarm, when I neglected to push the RAM all the way into the slot) everything is functioning correctly, and as of yet rotcheck hasn't turned up any corrupted data. As a bonus, our European internet is allowing me to host on port 443 with no extra hoops to jump through! I haven't checked 25 yet, but I don't have high hopes.


Even though the homeserver was shut down for a month, I was not stopped from fiddling with the blog in my meager spare time. In fact I apparently had a lot of spare time, because the UI for the blog has been completely overhauled!

I opted to switch all my styling to new.css, a class-less CSS framework which really doesn't do much more than polish the browser's default styling. Being classless, my HTML is now vastly simpler, and the DOM used throughout the site has been streamlined significantly. For example, you'll notice the header is now just a list of links with text separators, rather than the more complex multi-column div- based header I was dealing with before.

If you like, I recommend checking out the HTML source on any random page, it should be quite pleasant to read through.

This exercise in eliminating CSS classes from the site really changed my thinking in how a site can be designed. A user's ability to parse a page easily is based on their ability to identify like-kind elements quickly. Because there's now fewer types of elements which are possible in the first place, it naturally makes it easier for the user to parse a page.

This reduction in flexibility also put me one step closer to making this blog gemini-capable. At this point the UI you see in front of you can be translated almost 1:1 into gemtext, so the HTTP and gemini versions of the site will end up being pretty comparable.

The switch in CSS framework wasn't the only UI change I made. A splash of color has been added, whereas before I had stuck with grayscale. Choosing color palettes has always been difficult for me, but I think this might be my first real success. I wanted to have something which balances cool and warm colors, but also wanted to avoid a standard red/blue or teal/orange palette. This green/yellow palette works nicely and feels fresh.

Finally, I augmented the templating a bit to allow me to inline the default CSS files used throughout the site. This means that, for 99% of pages, there is only a single round-trip to the server required in order to render a page. Combined with the in-memory cache, the only way I could get this site faster is to minify the CSS and HTML. But even then, it's only 11kB to load the homepage!


Beyond UI changes, I also had time to add some features to the backend. The first was an admin page, mostly for my convenience as I add more admin-like functionality.

The second change, much larger than just a new admin page, was a drafts section in admin. While most admin functionality is read-only without my username/password, I decided that drafts should be fully private. I often start writing something and then later decide it shouldn't see the light of day, and I'd like to keep that option.

The drafts page is essentially the same as the posts, except that all posts saved in it are not yet published. I also moved the "new post" button into drafts, so that there wouldn't be two different places from which to start a new post.


I'm sorry for the long absence of the blog. If the blog was hosted outside my living room it could have avoided the outage, but this way feels more human to me. Sometimes we pick up our lives and move them, and just as I wasn't super available to my friends and family during this time, neither was my server. My absence from the web matched my absence from my social life generally, and there's nothing wrong with that.

Published 2022-09-15


This site can also be accessed via the gemini protocol: gemini://mediocregopher.com/

What is gemini?