πŸ‘΄ jdcard

On Again ... Off Again

The Fiftieth December Twentieth

My wife and I sat in our easy chairs at the end of the day and both commented that "today was a very good day". We didn't win the lottery, or welcome a new great grandchild, or even find a lucky penny on the sidewalk. It was, in most respects, rather quotidian. Amanda was here, and Jamie spent the afternoon with us. We prepared cookie trays to give to friends and families. That's really about all that happened that day that's worth mentioning now (two days later).

After agreeing that it was a good day I commented that I have seen about seventy December 20th's come and go and I can't remember anything at all about any of them. Neither of us could call up any memories associated with any of our previous fifth-day-before-Christmas days.

So, I went digging through the archives in my computer to see what was recorded for dates that included "12-20". The oldest record I found on my initial pass through the most accessible material was a few photos that we took (without flash) on December 20, 2002 at a children's Christmas pageant that we attended at our friends' church.

 Photo of pageant
Photo of pageant

Six years later there are three snapshots we took while visiting our daughter and her family in Arkansas, and last year I took a couple of pictures of a batch of oatcakes that I baked on December 20. That's all the photographic memory aids I could find.

It was really easy to find records of purchases we've made on December 20 over the past decade or more: 2012 - $13.49 for a prescription and $2.15 at a fast-food burger place; 2013 - three grocery stores and lunch at another burger place; 2015 - car parts, a dollar store, a membership warehouse store, and a convenience store; 2019 - a grocery store, and my wife got her hair cut; 2021 - two different big-box retailers fifty miles apart, and parking at the airport where we picked up our grandson coming to visit; and 2022 - a gift for our grandson from a local specialty retailer. We live such exciting lives!

Digging deeper I found over two thousand e-mail messages containing "20 Dec" going back to the late 1990s, most from mailing-lists that I've participated in. I did notice that on that date in 2010 I read an article online that was particularly appropriate for one of our grandchildren so I forwarded a link to "Reading, Writing, β€˜Rithmetic and Relationships" to my daughter.

We remember the days our family members were born or died. Great joy or great trauma stand out in our memories, great days don't. Still, it was a very good day, and now we may remember that for even longer.

πŸ“… c: 2023-12-22 12:16 ✏️ e:

🏷 tags: #Christmas #memory #family


Just Don't Buy It!

I've been casually monitoring the COP28 talks and I am more and more becoming convinced that they are primarily for show. Fossil fuel exporting nations won't accept (for good reason, from their perspective) any language in the agreements that includes the phrase "phase out" in relation to fossil fuels. Most other nations insist that such language is crucial to reaching an agreement.

The international agreements are probably important, but let's not lose sight of a crucial fact here. In all these economic transactions there is a producer/seller and a consumer/buyer. Even if the fossil fuel producers won't sign an agreement at some international meeting, the rest of us can certainly just stop buying what they're selling.

Don't let the instransigence of a minority and the showmanship of high-level gabfests distract you. Insist that your own local, regional, and national govermnents take appropriate actions to phase out the use of fossil fuels.

Big oil is too powerful? Stop buying gas from them.

πŸ“… c: 2023-12-12 12:26 ✏️ e:

🏷 tags: #COP28 #StopBuyingGas #DrivingIsSociallyUnacceptable #WalkingWorks #BikesAreNice #RideTheBus


The Gemtext Print Hurdle

Learning to write

The oldest pages on my website date back to about 1997. I was in school, my ISP provided webspace for me as part of their service, so I learned to write HTML to take advantage of that. The School of Business at this university had recently decided that the ability to work well with others in group setting was a very important skill for their graduates to acquire. Nearly every course included a group project of some sort, and having a place to easily share files with group members proved to be very helpful.

HTML soon became my primary document format. I used word processor software for documents that required more than what HTML offered, but nearly everything else I wrote was done as HTML; in fact I soon started writing drafts of papers in HTML and then imported the HTML into a word processor for the final edit.

In the beginning I tried various ways of editing my HTML files. Netscape Navigator included authoring tools, W3C offered their Amaya software that was designed from the beginning to be both an editor and a browser, and most word processor software by this time had an option to export a document in HTML format. I soon dicovered a small editor (QuickPage) I liked that was designed just for editing HTML, and specifically tried to ensure that the HTML you wrote included only valid markup, making it easier for me to avoid careless mistakes as I wrote. I began to care even more about the quality of the HTML code that I wrote and soon updated all my pages to ensure they were compliant with the latest HTML specification: 4.0.

This worked well for me for the following 20 years or so. I spend most of my time with a web browser open anyway. If I needed to print a document the browser nearly always did a good job of that. HTML files are easy to edit, relatively small, and easy to share. I had been writing HTML for so long that I didn't mind inserting "<p>" and other markup as needed, it had become mostly automatic.

Relearning to write

In May of 2022 I discovered the Gemini protocol and its associated gemtext file format. I tried it out for a while at tilde.team and discovered it was quick, light, had smaller document sizes than an equivalent HTML document, and really easy to write. I tinkered with it a while and soon decided to convert most of my existing HTML to gemtext on my website. (There are a few documents I left as HTML that demand the more complex features of HTML, but even some of those I provide a simplified gemtext version of.) I never learned to like Markdown, I often resorted to just inserting HTML code into the markdown file anyway, so it never really semed worth the effort to master it. But gemtext is a breath of fresh air! When I bump up against its limitations I can still switch to HTML, so I am really enjoying writing again.

Now I find that gemtext has become my new default document type. My biggest frustration though, has been that I only know of one Gemini client that prints a nicely rendered gemtext document: Rosy Crow. Sadly, even that one has not been working properly on my phone since recent updates.

Now let's print a gemtext document

This past week I spent a few days exploring what options there might be. The simplest option would be "lpr myfile.gmi", but this just prints the raw text of the file rather than a nicely-formatted version that clients like Lagrange offer, and it doesn't even word-wrap the lines. Gemtext is simple to parse, so I thought I might write a quick script to generate a nicer version to send off to the printer. Soon I was up to my eyebrows in LaTeX, PostScript, and PDF generation -- there is NOTHING simple about that option. Those toolsets are very old and very complex to work with, and do not easily handle Unicode characters. Of course it could be a case of "yes, Linux is user-friendly, it's just real picky about who its friends are", since my programming skills are rather shallow.

The best option I've found for printing a gemtext document is converting it to HTML, loading that into a web browser, and printing from there. There are dozens of gemtext-to-HTML converters available; the one I found easiest to use is a single PHP script that I found somewhere last year. I thought it had come from Hundredrabbits, but couldn't find any reference to it on their site. I originally stored it in a directory named "gemini.sensorstation.co/" with a read-me file named "computing.gemini.gmi-to-html.gmi". Similarly, I can find no reference to it at gemini.sensorstation.co, so I can't offer a link to the source. It includes no comments or metadata within the file to offer clues. I suppose I could publish my modified version of the file if anyone is interested in it.

That's great for printing gemtext files that are on my webserver, but I want to print files from my local nework. I do already have PHP running on my local desktop machine but didn't want to mess with installing and configuring a real webserver. A few modifications to the script now allow me open a local gemtext in a web browser and then hit CTRL-p to print. It is clunky and cumbersome but it will work until I can convince the rest of the world that sometimes we do still need to print paper copies of our documents, and it would be good for full-featured Gemini clients to offer that option.

Update: A planned partial solution

I've spent another day or two looking at this issue and have worked out a two-pronged approach for generating printed documents from gemtext source files.

The first I have already implemented, thanks to the generosity of Frank Seifferth, who e-mailed me offering his solution to the problem: a Python script that generates nice PDF files from gemtext. I spent a little while building a custom CSS stylesheet and now get good-looking prints when I need them. There are two limitations to gemdoc that lead me to continue working on this problem.

Another limitation of gemdoc is also a feature that I like: the PDF that is generated is a gemtext/pdf polyglot -- the same file can be viewed in your Gemini client and in a PDF viewer with no modifications. The slight disadvantage with this is that Gemini clients will display the first couple of lines of the PDF code at the top of the page, and a large chunk of PDF code at the bottome of the page, which may be acceptable for some uses. The generated file functions perfectly as a PDF though. Another slight annoyance is that gemdoc over-writes the source gemtext file, but this was easy enough to work around. This program is almost what I need, and if I had any experience with Python I'd work on getting it to do what I want. It is what I'm relying on for now. Thanks, Frank! (If you'd like to try my gemdoc stylesheet I've included a link here.)

The second solution came to me while I was customizing my gemdoc stylesheet. Web browsers do a good job of displaying -- and printing -- documents. I'm already familar with HTML/CSS and PHP and with some Bash scripting to glue together various bits of the work flow I'll have something that works just right for me. Browsers can print direct to my printers, or print to a PDF file that I can then easily print. Browsers seem to have conquered the issue of reliably displaying Unicode. So I'm brushing up my CSS skills regarding paged media and I'll add @media sections to the code I'm already using. When it's all finished I'll make a new post with more details.

I've decided not to use gemdoc for my blog posts -- at least for now -- because I'll have to rewrite my blog scripts to accomadte the PDF content.

πŸ“… c: 2023-12-06 19:40 ✏️ e: 22023-12-12 13:17

🏷 tags: #print #gemtext #php #script #gemdoc



Previous Posts

🏷 tags: #puzzles #diagrams #HowToThink

🏷 tags: #shoes #embarrassment #lessons #CustomerService

🏷 tags: #StopBuyingGas #DrivingIsSociallyUnacceptable #WalkingWorks #BikesAreNice #RideTheBus

🏷 tags: #ClimateChange #Degrowth

🏷 tags: #degrowth #WhatsYourPlan #LetsPlanTogether

🏷 tags: #Medicare #telemarketers #phone #harassment

🏷 tags: #election #voting #information #deficit

🏷 tags: #cranberries #oats #porridge

🏷 tags: #photo #assignment #scholartree

🏷 tags: #age #celebration

🏷 tags: #climatechange #crisis #personal #adaptation

tags: #blog #history

tags: #freedom #censorship #exile

tags: #open-source #fear #security #friendship

tags: #learning #teaching #parenting #diet #wieght-loss #nutrition

tags: #tired #hopeful

tags: #religion #judaism #christianity #hebrew #english

tags: #exhausted #refreshed

tags: #nostalgia #building #relationships

tags: #success #uncertainty

tags: #happy #textmode

tags: #tired, #happy

🏷 tags: #Opera #M2mail #e-mail #attachments #utilities

tags: #family #travel #customerservice

tags: #childhood #adventures

tags: #ambiguity #context

tags: #goals #family #ambiguity

tags: #errors

tags: #family #cooperation

tags: #family #childhood #fun

tags: #family #school #performance

tags: #family #crafts #quilt

tags: #family #travel #memories

tags: #family #blog

🏷 tags: #Opera #portableapps #thumbdrive

🏷 tags: #Opera #irc #etiquette

🏷 tags: #userstyles #stylesheets #Opera

🏷 tags: #userstyles #stylesheets #Opera

🏷 tags: #userstyles #stylesheets #Opera

🏷 tags: #Opera #blog

tags: #travel #stories

tags: #travel #desert #highways

tags: #travel #family #anniversary

tags: #travel #family #Colorado

tags: #travel #family

tags: #travel #Utah

tags: #travel #highways

tags: #travel #preparation #planning

tags: #travel #preparation

tags: #travel #preparation #lost

tags: #travel #preparation #lost

tags: #travel #preparation

tags: #family #perspective

tags: #family #war #history #populationgrowth #perspective

⁂

Β©2023 πŸ…­πŸ…―πŸ„πŸ„Ž Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

β‹―

🌐 jdcard.tilde.team

Search this site at marginalia.nu