leaflogo

Iowa Dave

Living and Learning

Columns for the Blog

August 10, 2025

Final post in this format

This page reflects my thoughts and struggles from November 2024 through early August 2025. I launched a different layout approach today. You probably arrived at this page by clicking a link in the new version. Click here to go there.

August 9, 2025>

Where Things Stand

Disarrayed, is where. No sooner did I declare that this site would feature my posts regarding groff, the typesetting program, when poof! I detoured the first one to relaunch a sibling site: IowaDave.com.

One should grow his crops where he plants them, and I shall cultivate the topic of groff over there instead of here.

Readers of this page are viewing my user account’s subdomain at Neocities.org. Farther down the page you can read about my journey out of Darkness (a previous service provider) into the better light of this place.

I have allowed the posts to pile up on a single page. As I write here today I consider the time has come to reorganize them.

July 31, 2025

Toward a Flexible Layout

At last! I may have learned a thing or two about CSS styling with so-called flexbox layout. The page presenting on July 31 visually displays a sidebar adjacent to its most recent posts, including this article.

Older posts appear farther down. They did not (at the time) have a sidebar. I left them that way. The very oldest posts have no styling whatsoever. I wrote them that way and have left them as they were. Comparing recent efforts to older ones gives some indication of my progress.

Bigger changes are coming soon to this site, as I break the articles out onto individual pages.

July 28, 2025

Introducing The Code Diarist

My recent writing has appeared in another site that I maintain here on Neocities: The Code Diarist (codediarist.com).

Here on the Mother Domain I will soon begin posting informational articles on groff, the open-source typesetting software available for Linux and for other Unix-like operating systems from the GNU project.

Mac OS is Unix-like, also, and users of recent versions of Mac OS may be able to install groff by means of the MacPorts utility. Windows users may be out of luck; perhaps they will not care to know what they are missing.

I have found groff faster to learn and easier to use compared to TeX and to LaTex, the notorious Big Bag O’Packages most people use with TeX.

Both TeX and groff can produce publication-grade PDF files that look professionally typeset. Both of them require require some learning before they begin to feel familiar. (La)TeX is readily available for Windows, a vote in its favor. I mostly use Linux and found groff less difficult to grasp.

This post is just a quick shout-out to the community that I will be adding content to the Iowa Dave site in the near future.

I know it still looks awful in a phone! The visual presentation of the home page is overdue for improvement.

January 30, 2025

Mount the neocities files on my local Ubuntu filesystem

The first two steps need to be done just once, to configure the local Ubuntu system.

Create a local mount point, for example:
$ mkdir neomount

Install the davfs2 package with apt:
$ sudo apt install davfs2

The following steps are done each time I want to work with my web site’s files.

Mount the neocities webdav service locally:
$ sudo mount -t davfs -o rw,uid=<me>,gid=<me> https://neocities.org/webdav neomount
replacing <me> with my username on the local system. Respond to the prompts that follow with the username and password for neocities.

Switch into the local mountpoint:
$ cd neomount

Inspect the file permissions and add write permission to selected files if necessary, e.g., to index.html:
$ ls -al
$ chmod +w index.html

This procedure enables me to edit files and folders stored on the neopixel server for my web site as if they were stored on my local workstation. It becomes possible to edit html and css files using Vim.

I notice a very short lag when saving a file to the neocities webdav service from Vim. Even so, it feels faster compared to uploading the revised file as a separate step. Edits usually show up in a refresh of the browser view after a moment or two.

Unmounting the neocities file service is done just as for any other mounted volume:
$ sudo umount neomount

The alternative approach (when I want to use Vim) is to download the files to a local folder, edit them there, then upload the edited files. This is easy to do and gives the advantage of actually backing up copies of the neocities files on the local machine.

I use both approaches, the choice depending upon my mood at the moment.

January 26, 2025

My studies of html and css return to visibility here on the Neocities web server. I have been reading books and authoritative online resources provided by Mozilla Developers Network (MDN) and the W3C. Most helpful for me was the new, Sixth Edition of Murach’s HTML and CSS.

It appears that I have taken some non-conforming approaches to this web site of mine. Some significant changes may be on the near horizon.

December 3, 2024

This date the work pauses, for two reasons. First. some other things need attention at the end of the year. More importantly, I need to build skills with responsive layouts and accessible markup. At the date of this writing, the page looks horrible on a smartphone and it lacks any facility for navigation beyond scrolling the screen. There you have my next challenges.

November 30, 2024

This two-column layout looks better after some study and experimentation carried out offline.

November 27, 2024

My first attempt to display a multicolumn layout, using css flexbox rules, did not turn out the way I hoped. Clearly there was more to learn, on another day. The outcome was too ugly to preserve for history. This post, which used to look awful, is now showing up as just another article in the “flex” styling region.


The Early Articles

November 26, 2024

Html grew a richer set of so-called landmark tags during the ten years since I last paid much attention to web writing. The ones new to me include <nav>, <main>, <article>, <section>, <region> and <aside>. All of them are just different names for a chunk of content that should display as a block, that is, a distinct area having both height and width.

In days gone by we used the <div> tag ubiquitously for nearly all such blocks. The new names are more descriptive, to say the least. Using them helps to organize the html file and to make its lexical structure more self-evident.

But wait. There is more to say. The names also denote the role that a block performs. A <nav> block would be the logical place to put navigation links, for example.

Many people choose to browse the web with a screen reader, turning a web page into a kind of audio book. Such browsers may actually pronounce the landmark tag names This can make it easier for their users to get around on the page.

Replacing the <div> tags in my code with their role-descriptive counterparts did not change the appearance of the page in a visual browser. It did become easier for me as its author to maintain. Moreover, I hope that it became somewhat more accessible to people who come to the web with senses other than their eyes.

November 25, 2024

Today begins my introduction to marking and styling text for better accessibility.

For example, this post was my first use of the <article> html tag. It has been styled to look the same as its precdecessors, which used <div> because it was the primary tag for distinguishing regions of a page when I learned html back in the 20th century. Advances in web standards and browsers that conform to them have given us more ways to demarcate our pages.

My plan today is to revise this page by incorporating the newer, potentially more accessible html tag nomenclature.

Visual readers will be able to tell when this has been done because each post (to become tagged as an <article>) will be restored to its original appearance. My progress in learning will be much easier to follow.

All readers will find it easier to navigate the page as well, as my understanding of aural and keyboard browsing improves.

Let us hope an old dog can learn these nice, new tricks.

P.S. by end of day, I did!

November 24, 2024

Each day's post now comes wrapped in a <div> having a set of style rules designed to set them apart from one another. The rules deal only with attributes of the <div>, namely its margin, border, padding, and background color.

CSS is a big topic. Even a little bit can make a big difference in how a page looks.

November 22, 2024

This page exists for me to study CSS styling. Its look will change frequently. For example, it had three columns at the end of yesterday. This morning, it goes back to a single column. I decided to review CSS for text before wading into layouts. When I get to layouts, it will be useful first to have the text organized to look well in normal flow, the default layout produced by nearly all browser applications on nearly all devices.

November 21, 2024

The previous two days were spent moving into winter quarters. Attention returns now to moving some web sites onto Neocities servers.

Fluid Floating Columns

I ended this day of learing with a kind of three-column look to the page. The result as I wrote this post remained far from ideal. However, it did demonstrate applying CSS to style the page. I could sleep quietly.

Learning is Valuable; Hence, Costly.

A quote attributed to the quantum physicist Richard Feynman goes, “To learn anything new, you must take the time to make every mistake possible along the way!” CSS styling in the world of Jekyll (therefore, of Neocities) gives a good example.

As discussed below, I managed to apply a background color to my new page here, using CSS. Then, later today, I got clever and tried setting the background color using what's called a custom property No joy. The background returned to white. Not only that, but now I cannot seem to apply even straightforward CSS rules to the background color. Such a simple thing as a background color remains a mystery to me as this day stumbles to an end. I pay a price in time to learn web page authoring for sites hosted at Neocities. At my advanced age, where time goes by faster and there's less of it left, the price of learning increases faster than it does for food!

Oh. I had followed some advice found online to include so-called front matter in my css file as a way to trick Jekyll into respecting custom property rules. The front matter contained nothing, yet somehow it blocked the road to setting the background color. Removing the front matter restored the color. What did I learn at the expense of an evening's frustration? Do not put front matter into the css file. I still do not know why.

Styling a Page

My first puzzle: why did inline CSS styling tags fail to produce the expected text styling? Maybe such things will work for readers of this article. Alas for me, they did not. Neither did it help to write an explicit <style> element in the head of the page. I first encountered this phenomenon when using Google Pages, now also with Neocities. Both platforms use the Jekyll page compiler. Gradually it soaked into my ancient head that Jekyll prefers to get its styling rules via links to external stylesheets.

Neocities very kindly creates “starter” html and css files in new sites. The html file includes a link to the css file. There you have it: write styling rules in the css file; apply them in the html file. Today's activity has been to apply a warmish background color to this page and to write a class-level rule for italicizing text inside <span> tags of that class.

It's a start.

November 18, 2024

I began at the beginning -- just writing plain, unstyled html using Neocities’s online editor. We’re old friends, html and me. I subscribe enthusiastically to a thought I read somewhere regarding Neocities: that it was time to bring back the simple html-and-css techniques that enabled us early adopters in the 1980s and 1990s to publish on the web. You know, back when the web was mostly about sharing, rather than about selling. (Not that there’s anything wrong with selling.)

What attracted me to Neocities

Firstly, it’s hard to beat free hosting on price. It’s even harder to beat the value-to-price ratio on a supporter-level subscription of $5 per month. The latter gives ample storage for multiple domains (that the subscriber has properly registered elsewhere), plus https certificates for each of the domains. At YoMommy they have sort-of drifted into a mode where they charge for every little thing they do. It can add up rapidly, into hundreds of dollars per year. By contrast, a Neocities supporter-level subscription seemed almost too good to be true. Then I tried it, and it seems to be true.

Secondly, I agree with Neopixels about avoiding web designs that invite incoming content, such as forms or comments. The same goes for database-driven web pages embedding PHP code. While it may be true that such pages can exercise precautions designed to guard against malicious interactions, some risk remains. My web hosting facility at YoMommy got infested with malware despite everything I tried to do. So-called static web pages that serve out as straight html-and-css may be less vulnerable to evil exploits. It was nice to discover that Neocities takes a similar view.

But wait. Static does not mean inert. With Jekyll and Friends (Liquid, yaml, themes and what-all) a collection of static web pages can be jazzed up to look every bit as artful as the so-called dynamic solutions this old geek formerly associated with PHP-MySQL solutions. YoMommy makes dynamic sites fairly easy to set up and to populate. A pivot to Neocities hosting would mean learning to use Jekyll. That is fine with me. I love to learn. Just, sigh, it looks like I have got a lot to learn.

Multiple Domains

Here is what I learned about hosting multiple domains in a Neocities supporter-level account.

One needs first to own the domains. In my case, I had three top-level domains (TLDs) registered through YoMommy.

Then, set up the DNS information for the domains as instructed by Neopixels. For example, I did this at YoMommy for my domain name, gardencat.com.

What happens next is to create a separate, distinctly-named subdomain for each TLD that you want to serve from Neocities.

In the upper-right area of the Neocities screen there is a dropdown menu where your subdomains are listed. Choose Settings, then find the Create New Site controls. Type in a name for the new site. The name has to be a single word. It will become the name for a new sub-domain of Neocities.org. For example, I created one named ‘gardencatdotcom’. One way to access this new web page is with the url, https://gardencatdotcom.neocities.org

Back in that dropdown menu, choose Settings again. Find and click on the sub-domain created in the previous step. Then click on the link to Manage Site Settings for that sub-domain. I did this for the sub-domain that I named, ‘gardencatdotcom’. Locate and click on the link for Custom Domain. This brings up a page where you can make changes to the sub-domain. Type into the text box the top-level domain name that you want to be served in the selected sub-domain. For example I typed the TLD, ‘gardencat.com’, into this box for the sub-domain named ‘gardencatdotcom’.

Allow some time to pass for the changes to the TLD’s DNS record to propagate onto DNS servers around the world, and for the web servers at Neocities to configure a match between your specified TLD and the sub-domain you related it to on the Neocities servers. While these changes are taking effect, consider editing the default web page that Neocities creates in a new sub-domain. Return to that drop-down menu in the upper-right area of Neocities web page and click on the ‘edit’ link. Select the ‘index.html’ file for editing and make changes to it, as I have done here for this page’s file.

From time to time, try viewing your TLD by its own name, through a web browser. For example, I began to check for https://gardencat.com. If all goes well, in a short time it will appear under its own TLD name, reflecting any edits that you have saved in the sub-domain during the meantime.

That is how I managed to bring three top-level domain names registered through YoMommy to be hosted at Neocities.

This sentence will remain in the write-up until I am satisfied that all needful edits have been performed and the preceding content can stand on its own.