Thanksgiving 2024 (Almost)

Thanksgiving 2024 (Almost)
My Version of "The Man-Cave"

I started writing this a couple of days before the Thanksgiving holiday but realized as an afterthought that a lot more work had to be done to get Ghost and its companion applications to a ready state. So I put this aside until the infrastructure was complete enough to give some confidence that it might withstand early testing and abuse.

I've made a couple of updates and additions since then, notably the inclusion of comments about Mailgun but other than that, it remains largely as I wrote it a week ago.

It's too long, I know, with too many graphics and other paraphernalia of our digital age, but I was experimenting. I'll try to get control as I move forward.

Thanks for understanding.

MV


It's Tuesday, November 26, 2024, two days before Thanksgiving. I have just finished spending what seems like an inordinate amount of time assembling my ability to host this blog on my own server. As simple an idea as that sounds, it turned out to be a lot more than I originally intended. But this is not a technical blog, so I'll save that explanation for a different time, and instead try to focus on stuff most people might find routinely interesting. In essence, this is a vanity project: a place where I can just wander about and talk about my experiences and ideas, and where I can experiment with things I might find potentially useful or interesting.

My Man-Cave

The place all of this takes place is pictured above, my version of the storied Man-Cave. Except, of course, mine doesn't have a lot of beer cans or free weights lying about; instead I have lots of computer and photographic gear and a lot of books testifying to my personal interests in these topics.

The fact that I have a comfortable and reasonably well-provisioned place to pursue my interests is one of my major "Thankful" points; Some people don't even have a warm place to sleep and I have to turn off my radiators because it gets too warm to focus and work otherwise.

What Goes on Here

Many who know me probably are aware of how much I like C.P.Cavafy's Poem, Ithaka.

As you set out for Ithaka
hope your road is a long one,
full of adventure, full of discovery.

You can read the entire poem at the Poetry Foundation

This is home base for that "Road to Ithaka" that I'm traveling. It's a road I've been on for a long time—over eighty years—and The Road never loses its excitement, sense of adventure, nor does it fail to deliver riches and discoveries beyond anything I could ever imagine. The few times I encounter "Laistrygonians, Cyclops, angry Poseidon" I remind myself of Cavafy's admonishion,

don’t be afraid of them:
you’ll never find things like that on your way
as long as you keep your thoughts raised high,
as long as a rare excitement
stirs your spirit and your body.
Laistrygonians, Cyclops,
wild Poseidon—you won’t encounter them
unless you bring them along inside your soul,
unless your soul sets them up in front of you.

Photography

I spend a lot of time on photographic projects. I have taken, and continue to take, large numbers of photos of a variety of subjects and carefully catalog them and processs them in "post" to bring out the best I can find in any given shot. I have thousands of them, dating back to high school in the 1950s. I continue to build the archive.

I use some pretty common software for photo processing:

  • Photoshop: for some special efforts, especially recently with the addition of AI inspired effects and corrections
  • Photoshop Lightroom: my goto archival and processing program
  • Dropbox: makes a great place to both back up as well as share photos
  • Ghost: soon, I'll start using the hosting possibilities I have just developed to aid in making my photo archives available to people who might be interested.

Videography

This is relatively new for me. I wanted to be able to make instructional as well as documentary styles of video, so I upgraded my camera gear and plunged in. Suffice to say, I discovered a few Laistrygonians and Poseidon's along the way, and am still working hard to banish them from my soul. There's a lot more to this than meets the eye, but practice helps and there are lots of worthwhile resources on YouTube you can study and learn from. But the best way to learn, at least for me, is to actually try, and expect to fail early and fail often. It's the most effective way I've discovered to master a new skill.

Sound is one of the really difficult parts of the equation for me, having been a still photographer my entire life. Add sound, and a whole new realm of problems, solutions and avoidance mechanisms need to be mastered. You'll also discover that it's expensive; videography is more than just a camera that will record videos.

Some of the extra gear I purchased to handle both the video and the audio parts of capturing content:

  • Nikon Z7-II:Nikon Z7-II.webp
    I love my mirrorless camera. I'm still trying to master the rather "cooperative" relationship you need to develop with this sophisticated machine that captures both hi resolution stills as well as stunning low-light videos
  • Rhode Bluetooth Microphones:Rhode Bluetooth Microphones.webp
    While many people rely on built-in camera mics (the Z7-II has builtin sterio microphones) you will obtain much better quality with a Bluetooth microphone clipped directly on the speaking subject. You can use a lavalier along with the Bluetooth transmitter or just use the built=in microphone of the transmitter. Of course, you also need a receiver on the camera.
  • Rhode Shotgun Microphone: Rhode Shotgun.webp
    mounts directly on the camera and has a highly directional pickup pattern making it useful for recording images and sound at relatively close range (ten feet) in situations where ambient sounds are not too overwhelming.
  • Saramonic Bluetooth Microphones: Saramonic Bluetooth Microphones.webp
    I like these a lot. They are similar to the Rhodes, except by using a Saramonic mixer on the camera I can actually "wire" up to eight speakers simultaneously and mix the sound down to a stereo signal on the recording. This is especially useful for Masonic ceremonies, where speakers are spread across the vast expanses of Masonic halls, delivering ritual (often mumbled) important to the ceremony being recorded.
  • Condenser Microphones: MXL Condenser Microphone.webp
    Marantz Condenser Microphone.webp
    I have a couple of different kinds. These mics provide the best quality, but also are heavy, require "phantom power" and are connected to the recording device (usually a PC but possibly a Tascam portable recorder) using heavy cabling with XLR connectors. Great for studio work.
    XLR Audio Connectors and cables..webp

I could go on, but you get the idea. You can end up spending a lot of time and money on all this gear. While all of the ads and commercials will tell you that you don't need anything more than your cell phone to make an award-winning video, they are of course lying. First of all, it depends on what you're trying to say. If you're just a teenager who wants to take his clothes off in a quick, Tik-Tok short, then probably you can go for it and you'll get away with it if your young, provocative, and reasonably good looking. But quality work requires quality planning, quality gear and quality investment in software and time in "post." (Post-processing—that takes longer by an order of magnitude than the photo shoot itself.) It helps if you have some experience, because as I've noted before, the best way to learn this kind of skill is to

"Fail early, fail often, but always fail forward" is a quote by John C. Maxwell that encourages people to embrace failure as a part of the process of learning and growing.

For Post Processing, I use a variety of tools:

  • Camtasia: This is kind of a mid-range editor. Adobe Final Cut or DaVinci Resolve are more powerful and sophisticated as editing software, but are also more difficult to use and have a steeper learning curve. My needs right now are satisfied with Camtasia so I stick with it.
  • Audacity: This is actually freeware and remains a perfectly acceptable and powerful sound editing program despite being a bit long in the tooth and a little clunky in the User Interface (UI) department. It does everything I need a sound editor to do, so for now, free is a good choice.
  • Photoshop Lightroom and Photoshop: Just because it's a video doesn't mean you can't make use of still images. Controlling those images, by adjusting size, quality and other characteristics, is best accomplished by these image processing programs and then exported for use by the Camtasia editor.
  • Adobe Illustrator: Also an example of how a powerful image processing program when handled correctly can contribute to a video.

Freemasonry

I'm fairly active in Freemasonry. I currently serve the Grand Lodge of Illinois as Assistant Grand Historian. That means I take a lot of photos and videos, process them, and then publish for Brethren, family and friends to retrieve.

My "boss" is Grand Historian, Merle Fox. Here we are at Grand Lodge Annual Communication 2023:
DSC_7914.png
Merle is the guy holding the camera.

Becasue of my interest in photograpy and videography, most of what I do for the Grand Lodge of Illinois involves those activities.

I'm a member of:

Information Technology and Development

I spend a lot of time on IT and Software. It's one of my top interests. I'm interested in more than just "coding." Most of the hype you see on the Internet about becoming a highly paid engineer by learning how to code is just that—hype. Learning to code is only the beginning, and not even the most interesting part of the field. Code is what you do to implement a design, or develop an algorithm, or solve a business problem; code is not an end, it's only a tool used to achieve the real objective.

The fact that you're reading this blog testifies to the fact that code is not what I did to get this all to work. As a matter of fact, I wrote almost no "code" at all. ChatGPT wrote some of the code, but I wasn't completely happy with it, so I changed it to reflect my own sensibilities about what constitutes "good code." Here's a brief overview of what I did to get this blog to the point where I can a) write a post, b) inform my subscribers of a new post, and c) actually publish the content. It has several fairly deep and (for me) mysterious "rabbit holes."

  1. Choose a blogging system. ChatGPT suggested several and I tried them as best I could. I finally chose Ghost, because I can self-host it, which means I might learn a lot from the experience.
  2. Decide how to run Ghost on my Windows server. Ghost was designed for Unix and written in JavaScript, neither of which is either a skill or favorite of mine. Because the server also runs a mail service and Microsoft's Internet Information Services, we need what's called a "reverse proxy" to control the flow of requests and responses to all of these different parts of the server. Again, I asked ChatGPT for suggestions and finally chose YARP (Yet Another Reverse Proxy), largely because it is written in a native Microsoft language (C#) and designed to be run on a Windows machine.
  3. The final part of this particular rabbit hole was, how do I run YARP as a System Service? This means that it runs all by itself (along with all the other System Services on the Server) even though nobody is logged on. Again, ChatGPT suggested some alternatives but had some hallucinations and got them mixed up with on another and when I finally got it all figured out, I chose something called TopShelf, a very old Service Wrapper framework.
  4. In order to assemble all of this I did have to write some C# code, which I don't know much about. So I detoured down another rabbit hole and took a C# coding course.
  5. Finally I was able to get YARP to run as a System Service. It doesn't require much actual code to do this. Here's what the final code looks like:
    YARPO Screen Shot.png
    I also had to learn a few things about Visual Studio, which is Microsoft's Interactive Development Environment (IDE).
  6. That being done, I realized that I had no way to secure communications between my server and anybody requesting content. To do this you need to have a certificate from a Certification Authority. (CA) It turns out that there is a free CA that works quite well once you figure out the protocol involved. So I asked ChatGPT if there were any resources (free, of course) available to do this. It suggested several. I ended up choosing the Delphi component (which cost 50 Euros) despite my original request for freeware, largely because I'm stronger with Delphi and have more use for such a skill using Delphi than any of most of the other alternative, which are mosly scripting languages like JavaScript. The Delphi component comes with a demo program that can be used out of the box to obtain certificates. Here's what it looks like, running from the RAD Studio IDE.
    ACME Screen Shot.png
    As with the previous example, this is not meant to be studied, merely to illustrate yet another rabbit hole. (YARH)
    I will say that ChatGPT gave me a pretty good grounding in some of the theory and practice of security and encryption as I worked on this particular step. I feel a lot more competent now than before I started.
  7. Finally, It was time to get going on Ghost, the blogging platform. Unfortunately, as is true with almost all "back ends," Ghost is written in JavaScript and runs under something called Node. But, it's free and it works (mostly) so it has its good points as well as drawbacks. Getting Ghost to run at all is fairly easy, although since it was written for Unix, it never heard of a Windows System Service. Also, since I was using a Reverse Proxy (YARP) where were some configuration issues that the basic Ghost package doesn't address very adequately. However, with a lot of trial and error, ChatGPT managed to get it running. Unfortunately, I still don't understand all of the nuances of routing in YARP and ChatGPT seems to hallucinate a great deal when providing code for configuration.
  8. The next step was to get Ghost to run as a System Service. Since what is actually running when Ghost runs is NodeJS, it becomes a question being able to find a wrapper for NodeJS.exe that will run as a System Service and handle the execution of the Ghost JavaScript. If all of this sounds suspiciously like the TurboEncabulator, you're right. It's a lot of hocus-pocus just to get a program to run as a Service, and one of the reasons I dislike scripting languages so intensely. This we accomplished with a well-known solution known as NSSM or Non-Sucking Service Manager. But it's tricky to configure with something like a scripting language, so we (ChatGPT and I) fumbled with that for more time than I care to recount before getting it "right."
  9. I quickly discovered that sending a blog post announcement by email is easieer said than done. In this day of spam and phishing, it is harder than ever to make "bulk mailings" using the Internet. However, there is a service that will do that for you called Mailgun, plus Ghost already has an integration for it. Although setting up Mailgun is fairly easy you then realize that Mailgun is only used for bulk mailing; what's called transactional mailing is handled by normal SMTP servers and consists of the one-off messages like password resets, logon credentials with magic links and so forth. I already run a mail server so it was a matter of just hooking into that for transactional email, and Mailgun for bulk mail.
  10. Working with Mailgun led me to yet another Rabbit Hole, because Mailgun works best with its own sending subdomain. Since I already run a Domain Name Server it made sense to use it for this purpose, but it did require that I learn how to delegate the subdomain from the root domain, configure the subdomain on my own server, and open the necessary ports on the firewall to pass traffic to the domain name server. Finally, there are a few Text (TXT) entries required in the new subdomain but those are quite simple since Mailgun tells you exactly what it needs to operate correctly.

So that's a bird's eye view of my latest project, as far as it goes. Two things broadly remain:

  1. I need to do something about redirecting http traffic to https traffic. In other words, I'd like to force all requests to be encrypted but so far ChatGPT hasn't come up with a 100% effective solution. I'll have to dive into it a little more. I'm sure the bot is on the right track, but depending on how it was trained, it may be spouting bovine excrement from some source on the Internet that claims to be "expert" but that is in reality merely a hubristic mediocrity.
  2. There are some post-implementation tasks to finish up such as saving code to my Github account, making certain my project documentation is complete (as much as possible) and setting up and testing backup procedures so I can survive the next Armageddon so routinely predicted by both Extreme Left and Extreme Right activists.

Reading (and Now Writing)

I read a great deal every day. Most of what I read is published on the Internet, although my deeper dives usually involved real paper books. My daily Internet perusal usually looks like this:

  • AllSides
    AllSides.png
    Offers comparisons of significant events showing how both Left and Right outlets cover the same event. Ite's like standing in two echo-chambers! Here's the Allsides media bias chart, a handy reference to check major news sources for bias.
    allsides-media-bias-chart_v10.1.png
  • Block Club Chicago
    Block Club Chicago.png
    Way to woke for my tastes, but it does provide lots of neighborhood trivia worth knowing.
  • Chicago Tribune
    Chicago Tribune.png
    Once it called itself "The World's Greatest Newspaper," and even promulgated the claim in the call letters of its radio and television stations: WGN and WGN-TV. What's left of a formerly decent regional publication is now a refuge for a collection of wokies buffing their nails and bitching about the latest Bears loss to some team even more inferior than they are. Still, it has some regional news of interest, but don't get too swept up in its slanted reporting.
  • Tablet
    Tablet.png
    Tablet calls itself "A Hub of Jewish Life" and as you'd expect, is largely concerned with topics that would interest Jews of all kinds. I usually look at the first page, and occasionally see an article that looks interesting or is written by an author that I happen to like, prompting me to read a little farther that day.
  • Reason
    Reason.png
    Staunchly libertarian to a fault. Even Ayn Rand might approve of their editorial style. I consider myself largely libertarian about many things, but even so, Reason frequently gives me pause. It's definitely neither Left nor Right. I also hardly ever read much of what they write.
  • The Free Press
    Free Press.png
    Definiteliy one of my top sources for accurate, balanced and witty reporting. Although it slants Right, it also publishes enough Left-leaning material to make me uncomfortable and thoughtful. It's really a joy to read this. The comments aren't bad either and Publisher Bari Weiss seems to attract enough intelligent readers to keep the comments both provocative and civil.
  • UnHerd
    UnHered.png
    UnHerd is definitely one of my favorites. Based in London, it provides an interesting perspective on US Politics and culture. Publisher Freddie Sayers is one of the slickest personalities in the On-line News Biz and I always appreciate his controlled, respectful and formal style with guests. This was where I first heard about the work of Dr. Jay Bhattacharia, who helped expose the abuses and excesses of Dr. Anthony Fauci during the Covid hysteria.
  • Wall Street Journal
  • Wall Street Journal.png
    The Wall Street Journal is easily one of the best traditional news organizations working today. It's Opinion pages Lean Right, as you might expect, but the News sections are dead center. Yet even their Opinion pages are worth a read despite not reflecting your own particular viewpoint. They are almost always well-written and thoughtful.

The astute reader will notice that I have completely omitted any reference to The New York Times. This is with good reason: NYT has completely destroyed its own legitimacy and relevance with its terrible handling of woke issues. It will take decades of dedicated effort to recover, if it recovers at all.

I Also Live Here

I cook, eat meals, sleep and generally work in my apartment these days. As you'd expect, I also have some of the more common problems and activities that anybody living in a hundred-year-old building might have. For example, right now I'm waiting for the plumber to stop by to fix a leaking drain under my kitchen sink.
20241126_112432. Man-Cavejpg.jpg
As luck would have it, I cooked and prepped a lot yesterday, so being able to use a sink is not an urgent requirement for at least a couple of days. Maybe tomorrow...

See ya later!

This is the first blog post I've written in a long time. Let me know what you think in the comments. I hope you enjoyed it.

And I hope you and yours have a peaceful and satisfying Turkey Day!

Milan Vydareny

Milan Vydareny

Chicago, Illinois