• An Addition To The Website

    A New Page!

    I just added a page of links to some of my Sals maps, you can also find it in my “other projects” menu. I’ll be improving and adding to it as time goes on, but there it is for now.

    I was hiking at Sals the other day and bumped into Eric riding with a few others; they asked me what I was doing and I told them I was tracking down the last of the trail marker posts, to add to my map.

    Eric was like “uh, what map?” and I said I’d been keeping a map of Sals for decades, so he of course asked me where he could find it — and that was the motivation for starting my new page.


  • Improved Wordle Cheating

    I use a script to help me with Wordle — creating the script, and watching it work (rather than the actual play itself), are what I like most about playing Wordle.

    My script works, in conjunction with a text file of the most common five-letter words, by counting the most common letters used in whatever subset of words are valid at any point in the game — part of the script runs the text file through a regular expression filter to get that valid word list — then rating the words by how many high-count letters they contain. This especially is a good tool early in the game, since it helps to either confirm or eliminate the most obvious letter choices right off the bat, but it has diminishing returns with later choices.

    I modified the script to similarly score multiple-letter combinations, but the results were mixed. Past a certain point, this approach really doesn’t do much, and adding letters didn’t change that. My average score hovered at basically just below four guesses per game…

    The “wordle bot” assistant has its own way to assess words, based on a “divide and conquer” approach: the results of each word selection basically split the potential words into several groups, where all the words in each group would have produced the same result if they were the answer. (I call the groups “buckets,” and the approach the “bucket method.”) The more buckets a word choice can split the potential words into, and the fewer words are in each bucket, the better that word is for zeroing in on the correct answer.

    I decided to try using this approach, writing a python script to do the work. It really was pretty easy, surprisingly so, and it worked really well so I added some sorting to it and incorporated it as an option into my original helper script.

    The results, again, have been mixed. I think my average score is now closer to 3 than 4, but I’ve also had a whole lot more fives (and some more twos) so the variance seems to have grown. My “skill” score went up, but my “luck” score dropped… Part of this (especially the “luck” part) is because I’m not selecting words as randomly, or weighting the odds like my old method did, so I now start with my go-to choice of “SLATE” (always, for luck), then use my original wordle-helper method to find the next word, and from there I use the new bucket method. Better, but still not great.

    It turns out, the new method is a bit more sensitive than the old one to unusable words in the word list. Wordle has a fairly large set of acceptable words (I think I saw somewhere that it was about 3000), but only a subset (say 2000?) can be winners, and none of them are plural (no ending in “S”), past tense verbs (mostly no ending in “ED”) and definitely no inappropriate words. There are may be other deal-breakers too, but that’s a pretty good set of exceptions. Meanwhile my potential word list, which comes in at over 5000 words, contains all of those and more.

    So I’ve been curating my list. I added some regular expression filters to avoid words ending in “S” or “ED,” and marked as many inappropriate words as I could find so they would not get considered. My results are now much better, though there are still a few words that my list considers common but the NY Times does not.

    Today’s score was a five, but I just had a long run of threes.

    About my choice of “SLATE”

    Even before I first wrote my wordle helper, I decided that “SLATE” was the best opening word, since it had what I thought were the most common letters, and the best combinations, to start the game. I’ve been using it ever since, and at some point I felt vindicated when the wordle-bot started using it as its own best starting word. Everyone else started using it too, but then the bot began to start with “PLATE” and my word became far less popular…

    Well, I was playing with my new script, running it for a starting word (that is, with no restrictions except plurals, past tense and cusses), and the best choice by far was “SLATE.” I feel vindicated again, though I don’t yet know why “PLATE” is the current opener of choice for the bot.


  • Arrival

    Ben and Jenny are here; they arrived last night in time for dinner with Emmi, Kyle & Iris. We are currently, post-breakfast, working on logistics and infrastructure — we’re talking bikes here — and generally just hanging out. They are still working their way through a big pile of tasks and issues, but they’re here now.


  • General Life Update

    Meantime, what else has been going on?

    Well, Ben and Jenny are on their way East. They are relocating to somewhere near us, and have spent the last month preparing for the move, basically getting their affairs in order and saying their goodbyes. They don’t really have much to bring with them (everything they own fits in their car), so they are taking a bit of a grand tour, sightseeing and visiting friends, and expect to arrive in the Philly area by March. They’ve been traumatized and their future is still somewhat up in the air, but I am starting to feel a bit less worried about them.

    They will probably not be staying with us as we originally thought, but we followed through on our emergency bathroom remodeling job anyway. There wasn’t that much that needed doing, just a new vanity light and a new coat of paint (and a new sink while we’re at it), but we let it all sit for years until the Ben and Jenny Emergency made us leap into action… Our contractor should in fact be done today or tomorrow.

    Yesterday was an Iris day, and I also visited my Mom.


  • The End Of The Trail

    I haven’t been diligent about it, exactly, but I have been progressing on my Native Paths project, slowly but surely, and just yesterday I finished — I digitized my last path.

    (This was part two of my project, the second pass through the book. I have pretty much followed through on my workflow: for each path I’d photograph the map in the book, clean the photo using GIMP, georeference it in QGIS, and finally digitize the foot paths (and any native villages or other notable places I’d find) by tracing them from the map. I’d also check the description for any cross-references between paths, which I’d also add to the database.)

    A friend asked the other day what I would do with the project, as in how I would present it to the world, and I really didn’t have an answer. My original motivation (at least, as I remember it now) was not to produce something for other people to see, but to gain an understanding of the book Indian Paths of Pennsylvania for myself. I guess it’s time to take stock of what I’ve learned on this journey…

    I think I accomplished what I set out to do, which was to gain a better understanding of Wallace’s book, its scope and its limitations; I also have a better understanding of the world the Pennsylvania natives lived in. And in the end, I also improved my GIMP and QGIS skills — I got a lot of practice cleaning, georeferencing and tracing those trail map photos!

    I still have a few GIS projects I can play with — I can use the native paths project to plan some bike tours, and I also have a few “ground-truthing” things I want to do with my Sals maps — but the truth is, I have reached the end of a long, engaging, and sometimes onerous process, and I am feeling a bit of post-accomplishment blues. Oh well, something will come along, GIS or something else.


  • Plot Twist

    The story of this year is already turning grim…

    Ben and Jennie live in Altadena. They called Tuesday night to say they had to evacuate, literally at a moment’s notice and with not much more than the clothes on their backs, to escape the Eaton fire — they (and their cat) got out safely, and were at her Mom’s house a few hours away.

    Wednesday afternoon they called to let us know that their home and all their possessions, and in fact their entire neighborhood, were just gone. Clothes, furniture, books and artwork, their bank and grocery store and favorite restaurant… They lived in an enclave of tiny little cottages, and were very close with their neighbors; I expect that community will now be scattered to the winds. This is just plain awful.

    They spent the last day or so at a friend’s cabin near Joshua Tree to escape the fire pollution, and are now staying at a big AirBnB with her extended family. I don’t know what their immediate plans are, but they said they’ll take a month or so to deal with whatever needs to be done, and then relocate to the East Coast. They’ll stay with us when they get here.


  • Remembering My Uncle Frank

    RIP Frank Barth III (1942-2023)

    I wrote this post in January of last year, but never published it. Some additions and light editing, and here it is:

    My Uncle Frank passed away a year ago last summer. I really couldn’t write much about it at the time, but here’s a post to at least mark and remember his passing.

    Frank was my mom’s younger brother, the middle of three; he was just a few years younger than my mom. Here are a few photos I have from my mom’s photo book. These were taken at a park in Brooklyn, maybe Prospect Park.

    I have another photo from before my time, what looks like a vacation photo of my Uncles Pat and Frank as teenagers:

    Pat and Frank, ca 1958

    Here are some of my own photos, taken many years ago (and years apart):

    The first was at my cousin Frank’s wedding circa 2003, and the second is when My uncle Frank an Aunt Pat visited my parents in maybe 2011 or so. This might have been the last time I’d seen either of them alive and in person: they lived in Florida, Aunt Pat had health issues and passed just at the start of COVID, and Uncle Frank followed her not all that long after.

    Uncle Frank and Aunt Pat had three kids (Patricia, Eileen and Frank), our families were about the same age and we spent a lot of our holidays together, but I hadn’t seen them in years; Uncle Frank’s funeral was a bittersweet reunion. Here we are together, my cousins, brothers and me at the post-funeral luncheon:

    family members posing
    Chris, me, Patricia, Kevin, Eileen and Frank


  • Procrastinating Already?!

    Happy New Year!

    Today will be the day I do my usual New Year things (hike, blog my greetings, etc). Yesterday was a day for the family: Emmi & Kyle came over with Iris, and we spent the day hanging out, Zooming with Ben & Jenny in LA, cooking and eating (including our New Year’s pork & sauerkraut), and opening up yet more presents. It was a long but very pleasant day.

    This is what I wrote just about five years ago, it kind of sums up how I feel right now: I’m glad to turn the page, but I’m not sure things will be getting better anytime soon. As always, we shall see.


  • Re-Re-Re-Litigating

    I saw recently that FreeCAD, the engineering program I played with once or twice in the past (it wasn’t ready for prime time), well it finally just reached its first official release version. I thought I’d give the new version a try, so I installed it (using Flatpak — probably a mistake, but it was the easiest choice in the moment) and got it running pretty quickly. The program looks the same, maybe a bit more polished, but it definitely works much better. That got me thinking…

    There was a work project I automated years ago, then extended the automation; and then (after I retired) I decided to re-do the whole thing using FreeCAD and Python. Looking back, the actual project was a little bit boring, but playing with the programming was fun, and so I found my old programs, re-worked them a bit, and it worked great.

    I won’t bore you with new pictures.

    One difficulty I did run across was that FlatPak builds apps isolated in their own little sandboxes, with their own version of everything they might need in the sandbox with them, and the version of Python shipped with FreeCAD did not have some of the library moduless my original script needed. And I couldn’t for the life of me figure out how to install a library module in the sandboxed version of Python.

    All I needed from the library module was a root-finding function, and in the end it was actually easier to just write my own function than continue messing with the libraries. Strangely enough, my script now runs slightly faster despite my function being less efficient (bisection in Python vs Brent’s Method in C++ or whatever), probably because I got rid of the of the slowdown of having to load that library. Once again, for small problems, small brute-force solutions have their (small) advantages.

    (I don’t remember where I got the idea, all those years ago — I may have pulled it out of my ass made it up myself — but back in school I always thought that the magic number was 3000: when dealing with less than 3000 items, just use the brute-force approach.)

    I also went looking for some of the models I made in my last go-around with FreeCAD. I found a few and moved them from my old laptop to my new one — backing up the old laptop along the way, I don’t think it’s long for this world anymore — but the one I wanted to find, a model of a forged tee I made, was nowhere to be found. Oh well, I guess I can re-litigate that one too, if I really want.


  • Obligatory…

    So here’s my (by now sort of traditional) Thanksgiving offering:

    Enjoy! And for those who may prefer a more traditional holiday, uh, tradition:

    Happy Thanksgiving everybody! Don’t eat too much, that’s not the point.