Blog

Sunday Good and Bad

I finally stepped on the scale at the end of Sunday, thinking my weight, which had been stable for months, would be +/- 240. Nope, and this explains many of the issues I have been having; it was up over 20 pounds. F**k! When did that happen! I felt, like many others, like a total failure and resolved to fix it. And the first thing I did on Monday, MLK 2026, was walk about a mile in the cold, frosty predawn. Back to plan.

What went wrong? Nothing. Just events. Winter weather, rain, thieves, and broken appliances have been sources of frustration. I just need to get back to simple exercise and forgive myself and the world (and LG). My knees and feet have hurt, but now I know it is because I am carrying an extra 20+ pounds.

It made it hard to sleep, and I woke at 6. My dreams were unfriendly but forgotten. On Monday, I threw on some clothes and was out walking at 6; I did a mile. I will try to start today with two miles. I know the weight slides on easily, and some, but not all of it, suddenly drops. The last ten pounds are a long haul. But again, this Monday morning, while I write the Sunday blog, I am content with my plan of returning to the usual plan.

Sunday started with me rising, writing the blog, and chatting with Deborah. The coffee was waiting. My memory of Sunday morning is a blur of writing and texting. I assembled a story of Saturday’s events using my tools and my limited storytelling ability. Grammarly chased my typos and obvious mistakes in red underlines and then more insidious AI suggestions in blue underlines that often suggested wording improvements, and I would agree maybe 50% or less. Even the red underline has to be reviewed, as a spelling correction is often the wrong word, followed by blue to rewrite the sentence to match the unintended change. I did check, and Google searches are now finding me and my newer content. But older content is not found.

After the blog, I rushed. I showered and all of that. I picked my red sweater vest (not realizing I had worn it for our visit to the Whitney Plantation on the trip to the American South). I put on the tie with whales on it that Deborah got me. I use suspenders to keep my pants on (that comment will make more sense soon).

Paul, an obvious street person with pants falling off and torn, came to our church service at First United Methodist Church in Beaverton. I was ushering, and Paul was a regular. He was sober enough (not always true; he had slept in a pew before), but his clothing was tattered. I had only coffee and donut holes (I am thinking about bringing sandwiches to give out), but also made sure he and others are welcome. I try not to be a ‘cop’ when I usher, but sometimes I still, with my tie, look the part. And I follow folks to ensure they are safe.

Today’s sermon, “The Cry of the Oppressed,” by Pastor Ken, started with slides and a description from our trip to the south. Kathy, not Ken, recounted our experience at the Whitney Plantation (my blog post is here), with pictures (including me in my red sweater vest). She was excellent. My emotions, no longer raw, still rose when she returned me to that day. The treatment of people as disposable and as an element of currency is what you learn in reading. Seeing the names of those people, standing in the slave quarters from that time, and learning what little we know of them, mostly their names at most, and knowing they were treated as disposable assets, was too much for me. It still is.

Ken attached this to Martin Luther King’s (MLK) message and the stories in Exodus of slavery in Egypt. MLK said he saw the promised land and that we have to continue telling the story and driving for justice in the USA. I was mostly distracted with usher duties and did not hear much of Ken’s sermon. I did pick up the theme that God did not say there would be no suffering, but that we must call it out, not cause it, and try to bring the suffering to an end. We can see the promised land; there is work to do.

Paul’s pants keep falling off. I have completed my usher stuff, including collecting and walking the offering to the altar. I take off my sweater while he watches and offer him my suspenders, explaining that I could not give them up sooner because I had to usher (I cannot lose my pants, even for a good cause, while doing that). He takes my suspenders, and I show him how to adjust them.

I have some other work to do after church. I collect some folks, and we work with Jack to get the round tables back near the fireside room, just three. The chairs have disappeared again. I last saw Paul happy with the suspenders (to have been seen, his problem noticed by someone else, I think, was more important than the gift of suspenders).

I head home, having to hold my pants up (what Paul was having to do before), but soon home. I stop by Popeye’s and get some chicken. I find an unopened package of suspenders, adjust them, and put them on. Back to normal.

I am tired and fall completley asleep in the chair (I did start watching season 4 of The Umbrella Academy). I move to the bed and do not rise until 4. Next, I talk to Deborah after my long nap. Instead of getting a walk, I eat more (still stress-eating) and start coding more AI after Deborah goes to bed. I wish her a good night.

I returned to my office and logged back into Kaggle. I forked my work (starting from a copy for those who don’t speak software development) and revised it. I coded a new matching algorithm based on token (word) matching rather than letter matching, and it scores worse. This creates a bias towards long and short texts as solutions. It is a good lesson on how AI (and matching) can develop bias that should be obvious. I was not surprised when it scored lower, but still interesting.

I spent the rest of the night (not getting any workout, except in my mind, which was running hard) defining a class to hold the training data as the first step in my new design. I also explored how to update Python to include English parts-of-speech tagging. I think I am allowed to update my coding environment and will try this next.

By 10:30, after a short break for more The Umbrella Academy, I completed what I intended and was surprised to find I managed to get the printing working for my new classes. I was excited that I remembered how to do this, and I also got a lambda function to run and run an apply method instead of coding a loop

As I said, my happiness was ruined by my use of the bathroom scale.

Thanks for reading.

Saturday Some code, SS, and Games

Breakfast was with coffee that I reheated from the previous day. I had left most of it from Friday, and I could not throw out a nearly full pot. I sliced a nearly fresh croissant and had it with my coffee while I returned to the office (formerly a bedroom) and started my usual process. Deborah was free in the morning, and we talked here and there throughout most of it. I had no plans for most of Saturday, and it was Deborah’s day off (she still teaches).

I have started rising before sunrise, remembering my father always waking for them, “There are only so many left, and I want to see them.”

I am waiting for the check from Allstate to replace the printer and UV hardening machine. I purchased the laundry from Costco, and it will appear on Wednesday. I am waiting for the final settlement and a check from LG for The Machine, and, sadly, it will be hauled away. The potential ease and simplicity of The Machine are not lost on me. I was tempted to try again, and LG offered me an additional 20% off my next LG machine. But I am not ready to return to the fold, so to speak. GE Profile brand offers a more usual laundry, with a mid-range-priced version from Costco as a bundle, which was the more sane choice. I cannot afford the time and money to experiment with something so mundane. I bought the stands too, but not stacked. I need this to go away.

While I am covering this, Air VW the Gray lease is approaching its first year and 1/2 point soon. VW leasing would like me to buy some mileage, as I have 9K with a 7.5K annual rate expected driving. The trip to LA and back is showing in the total. I have mixed feelings about this. I will see how cheap the miles are now versus later. I would rather use their money than use my own. This is my first leased vehicle.

Air VW the Gray is back to the mothership in two Mondays. There is the year 1 check (leased), a safety recall, with an expected 2+ day repair. I will use public transit for a few days. Always exciting.

The blog was done about 10:30, then I did some dishes, and I watched some YouTube videos from ShipHappens and LinerDesigns about the design for the Bismarck. I reviewed Drachinifel’s redesign of the armor and secondary battery, and added triple guns (though he admits the four-double-turret design was not bad). Making it almost an Iowa copy. I think the crazy mixed secondary and weak-to-non-existent anti-aircraft defenses on battleships were de rigueur for 1930s designs, and would have been replaced had the ship lasted longer, though her sister did not get these updates. For example, Yamato looked quite different in 1945, having been updated.

I had the last of the leftover Chinese-style food while watching the videos and chatting with Deborah. I then decided to code more in Python for AI and try some of my ideas. It was a lovely but code day, and I enjoyed looking at the bright day while I tried to translate Akkadian to English using my regular tools.

I believe I need to define a class for translations and use it to generate data to feed an engine or a matching algorithm. I will likely split the training data set and use it to evaluate my work. I have never done language processing, and I see references to AI inference engines and canned models everywhere. But their examples are still scoring low, and I think the data needs an intermediate form to achieve better results.

Instead, I just try to get more Python working for me and look online for Pythonic solutions (instead of coding loops or other structures). I use the token processing (turning a text into a list of words) and then use the set operation to create an intersection, just one line of code (!). It is why we use Python. It is so overloaded with cool functions to process messy data.

I managed to make two slow-matching processes, doubling my runtime (no surprise to me), and I submitted it with new logic to use the best-rated match (with little logic to decide that) and scored worse, but at least different. I looked at the provided dictionary file and am trying to figure out how to use it. I also see that I can download files to my space. I might get the English parsing files and upload them. There is also more reference material, and I may assemble even more information into my structures (very little, I think, will help with the matching, but it is interesting), as well as some new ideas. It looks like the challenge hosts are trying to help with the Assyriologist part (we are coders, not ancient language experts).

It is my almost birthday. I have reached 61 and ten months. That means I can apply for Social Security Benefits. I visited their website (I have had an account for years and strongly urge folks in the USA to get one and check their balances) and submitted my application. The surprise was the information on deceased spouses. You need the location of death (I checked it on Susie’s Death Certificate). It was also good that I knew my last employment dates, as I could answer the questions without concern. With that all done, I submitted my electronically signed application. I printed the required materials and have them on my desk.

I headed to Richard’s in Portland after that in Air VW the Gray. The traffic was light, and it was about forty minutes to get there from the house. We have a new gamer joining us, Anthony, and we returned to Darwin’s Journey, so we had to remember how to play. Richard soon lapped us in points, but the rest of us were only a few points apart. Anthony got 2nd with one point on me. Chris was only back ten points. I had played it a few times many years ago, but I remembered some of the rules. I missed getting an extra worker, and Richard was sure that if I’d done that, I would have been a distant 2nd, chasing him. Interesting.

(Yes, there is a lot going on)

Darwin’s Journey is an excellent, well-themed worker-placement and resource-management game (87th overall on BoardGameGeek). It flows well, and the turns can stall with so many options (so many choices), and players seldom interact with each other. The first play is hard, as you finally start to get it by the third round, and then we are past the 1/2 point, and now it is a race for points.

It is a Kickstarter game with too many fancy pieces, ways to vary play, and endless add-ons. The way it plays makes it different than most and an excellent game. But like many games like this, the next big thing on Kickstarter (which this once was) will send it to the back of the game collection. It was great to get it out again, and at less than $60 on Amazon, it’s not a stupidly expensive game. But to get all the bling, it can quickly add up to 200 € on the publisher’s website bundle.

While I was playing, I got a goodnight text from Deborah. It is always good, when separated, to start and end our days together in some way. I sent a picture of the game and a ‘good night.’

My return home was without incident, no ICE folks to shoot me down in Portland or Beverton and then arrest me for getting shot, and soon I was sleeping. I dreamed of being chased by tornadoes and running, and nobody but me seeing the risk. Yes, the robbers, laundry, repairs, and AI stuff have my mind in a tizzy; I have not dreamed like this since I retired. I woke at 4 and after a bio moment, went back to bed and dozed until 7 when my alarm rang.

Thanks for reading.

 

 

 

 

Friday Tired with Walks and Plans

I rose later, but before the sun, stripped the bed, and pushed all the dirty laundry into my basket for that kind of stuff. I added towels from the bathroom and kitchen. I threw on clothing, washed my face, and brushed my hair to make myself more presentable. I added hangers, laundry soap, dryer sheets, my phone, and the Apple laptop to my collection (getting heavy) and schlepped that out into Air VW the Gray.

It was a clear, lovely morning, and the sun was rising behind Mount Hood, which was white colored. The volcano was sporting its winter wear of white snow and ice. It turns increasingly black and gray, ash colored in the summer. There were only a few people there at 8 something, and soon I had three small washers going ($3.25) for 28 minutes. I wrote the blog in a chair at the coin laundry as the sun rose.  The three became two dryers, and by 10ish, I was done with laundry and the blog was posted.

I paid about $2,000 for a GE Profile-branded (front-loading and usual-sized) set of electric washer and dryer from Costco, delivery, warranty, installation, and haul-away included. Jeff had cleared the vent and rewired everything; I should be ready. Delivery is set for Wednesday afternoon.

Two security cameras, also from Costco, that need to be installed were also delivered. I will work on those this weekend.

I had picked up McDonald’s breakfast stuff, but could not finish it. I had coffee as the coffee machine was assembled, the time was set, and it delivered coffee at 7:15. Yay!

With the laundry done, I returned home, put it away, and discovered the baked goods I had forgotten and left in the car. I was still missing my AMEX, but I knew it was in the house or car; I would locate it wedged in the chair on Saturday. I have to start using that tap thing from the iPhone that Deborah uses to avoid this.

I reheated some leftover Chinese, relieved that I got three (plus one Corwin) meals out of my expensive order. I have one lunch left, four then. I took the pork fried rice and a small bit of Mongolian beef to the office after a shower, wearing my robe, and started working on Kaggle again. I was still unhappy with my code and thought there was a more Pythonic way. I looked at other code and noticed I had missed the .appy function, so I made that work and deleted most of my looping code. Yay! Pythonic!

Ok, that may not mean much to you, dear reader, but I do like to write good code, and Python provides amazing options. I like getting it right.

With my code submitted and scoring the same (as expected). I read and thought a lot about how to make this work. Others are using a provided Google model to do Akkadian and submitting CODA and PyTorch processing, and looked like folks are copying and then working the parms to get better scores. I may get there, but for the moment, I will try my own logic.

I next headed to Hillsboro to walk and enjoy the good weather. I did the antique stores, but my legs felt stiff, and my back soon hurt. I was really out of shape or not feeling well. It took some of the fun out of the visit. Deborah called me and suggested I find some coffee, which I did. I still felt off and tired out.

I returned in Air VW the Gray to the house and then headed to decarli (spelled in lowercase) as I had a 14Feb dinner reservation and wanted to check out the new setting. I have not been back since they moved. I connected with Deborah, Leta, and Joan S while traveling. I was sitting in my car talking for a while, but I try not to be one of those folks who do that.

Traver was at the bar; I had not met him, but the host/manager I remembered from years ago. Their menu will not change for Valentine’s Day, I learned, because the manager told me they always sell their specialties, their short ribs and sturgeon. I went to the bar, and Traver made me a wonderful Old Fashioned, and I had the happy-hour meatballs (it was just approaching 5). It was enough food for two: five meatballs with sauce and bread. It became my dinner, and I exchanged a few words with couples at the bar, but this was date night, as far as I could tell, and chatting with me was not their focus. Still, I enjoyed my dinner and reviewed the dinner menu (wow!). Traver offered a dessert menu, but I was stuffed with meatballs, and their only coffee is an Americano; I decided to pass on that much caffeine and sugar.

I watched Traver make two drinks at once and pour them into two glasses at once. Wow! It reminded me of my class with Donnda and Dondrea in New Orleans, making drinks. Traver was amazing to watch.

At home, I tried Pluribus (PLUR1BUS) and enjoyed the show. I cannot dispel disbelief, as the story is too crazy, but the acting, camera work, and writing make it work for me. It is a masterclass in mixing horror and reality TV. I made it through two episodes.

I often thought about the Akkadian-to-English translation and approaches to make it work when I took a break from the show, but I decided to take the night off and did no more coding.

I read for a while, then fell asleep.

Nightmares came. Terrible ones. About being persecuted, trying to resist, chased, and finally found in the dark by a group of bad guys who meant me harm. I woke shaking cold at 5 on Saturday morning. I dozed after that.

Thanks for reading.

Thursday AI, Lunch, and Meeting

I finished Thursday in bed in my PJs with all my doors closed and locked. I checked, but I forgot to assemble the coffee for Friday morning. I was reading a SciFi book I picked up at the UFO Festival in Oregon in the summer, and it had languished in my pile of things yet to be read. I met the author, and the author (not wishing to assign a pronoun) signed it. It is a SciFi, LGBT, Fantasy, Romance blend, I was told. The writing uses unusual sentence structure and does not seem to be generated by an AI. A human wrote it. I have liked it, but I have just started it. It is a larger trade paperback with larger print, making it easier to read. After a few pages, I was nodding off. It was near midnight.

I worked on coding my AI contest solution on Kaggle’s website (kaggle.com) for about four hours. I managed to get three more successful submissions, which moved my score from 0.0 to 2.0, then to 6.7.  I started remembering how Pandas worked and that I needed to build a loop to process my data row by row, then apply my (quite weak) logic to every entry in the training data set. I was not following the usual approach of using the test set to train a model, test it, revise, and finally run a solution to discover my score (and any misses). Instead, I was trying to get the basic read the test data, supply some answer, and deliver the solution in the correct format.

My weak logic, you wonder, dear reader. Well, my 2.0 score was calculated by randomly picking one translation from the test data set, leaving it unchanged, and applying it to all answers. Totally useless, but better. My 6.7 was a variation. I applied a canned fuzzy logic via the Python library cutely named fuzzywuzzy

I see that some had managed my high score in one try, but most of those are copies of examples. The Kaggle website pays bragging rights and some cash for publishing your solution. Many people then copy these examples and try to improve them to better learn AI Python programming. I might borrow a snippet here and there, but I am looking to win and doing what everyone else is doing, and then trying to fix it does not sound like a winning plan.

I can see that an inference engine is being used with a processing control and CUDA (graphics processors now used in AI: NVIDIA GPUs). Nothing I have done before. I may follow-the-leader later, but at the moment, I am proud of my couple of hundred lines of simple code getting 6.7 and no engines.

It took me a while to work out my Python and Pandas code, which translates into me looking up Python code examples and then using them. I remember some, but not all the details. I spend hours on basics, but it has been years since I did one of these contests.

Before this, Corwin and I watched some Halo. He binge-watched the rest of Season 2 while we had Chinese-style leftovers, and I nodded off, then went to do some coding. We also popped in to Salt & Straw, where I had the vegan Banana Foster flavor with almost overwhelming banana and cinnamon. Much like the fiery dessert. I also got some baked products for Paris Baguette.

(yes, clear skies, a warm evening, and a bright thing in the sky; not our usual weather)

Jeff arrived around 9:30 and completed the work we planned for today mid-afternoon. I also had him replace some wall plugs that were showing their age. We talked about re-wiring the kitchen to be more to-code, but I passed as I would rather spend the money on travel and on Deborah.

Deborah had a snow day in Michigan, and we chatted here and there throughout the day while she caught up on work. Deborah will be here in Febuary and we are talking about what we will do when she is here.

I woke about 7, had coffee, and started writing the blog until midmorning. Showered, took meds, and all that. I then rushed off to have lunch with Scott at McMenamins Cedar Hills, our usual weekly meeting. We talked about travel and our investments. We avoided the chaos of politics in our discussions (though we are both ‘surprised’ liberal in outlook; i.e., we discovered our viewpoint mades us liberal when we are sure we never changed our moderate outlook). We both cannot believe the run-up in stocks after the war started. We are having some guilt over our great returns.

We enjoyed our chat, but we had things to do, me an SPRC meeting (for those who do not speak Methodist, the HR church committee). I drove home and had our 45 minute zoom meeting.

Corwin arrived while that was ongoing and Jeff finished his work and I wrote him a check for time and materials. And that takes me to a complete telling of Thursday, a bit jumbled but how I remembered it.

Thanks for reading!

 

 

 

 

 

Wednesday More Work

I am beginning to feel like I have a job that pays poorly (nothing). I am busy getting things done, and then tired from the stress and all the things I have to do. But it was nice that Deborah and I ordered our flights to Salt Lake City for her first biz trip (I am the ‘+1’). Deborah is visiting Oregon in Febuary and we are meeting in SLC at the end of March. We are getting our trips organized.

I rose around 7 and found no coffee made, as the power blinked while Jeff was updating the dryer plug (more work than either of us expected, as it was all new wires and a new breaker in the box) had scrambled the coffee maker’s clock and settings. And until I put an Uninterruptible Power Supply UPS on the coffee maker (not happening), coffee in the morning will always be at risk. A risk I am willing to take. But my home internet and laptop are covered by about 120 minutes of UPS protection, and when Jeff needed to finish the electrical work, I just kept working. Only the light was out.

Aside: A generator powered by natural gas is tempting, as a mid-level earthquake here would likely leave us without power for an extended time. With Trump’s decision that Blue states cannot have emergency services (remember his attempt to stop aid to California for fires, and his having all but shut down Federal emergency services), our local officials have warned us to plan for being a week on your own. I will have to get back to that. I used to have emergency packs. I will have to get them again.

I finished the blog while Jeff, starting about 9:30, worked. We learned we could not run the dryer vent through the wall to the ceiling, so we just shortened and moved the existing one. Jeff had to climb under the house, and that was unpleasant. He reported that the crawl space liner has rotted away (1970s house) and should be replaced. Ugh! I asked him for an estimate for that. It would have to be fixed before I sold the house (not an immediate plan, but maintenance that needs to be done after fifty years). Ugh!

Jeff finished the walls with mud, will texture and paint them, and finish them on Thursday as if they were unchanged. The floor was partially cutaway; it is insanely strong with 3/4 ” plywood over rough tongue and groove 2×4 boards under that. Jeff will replace the plywood he pulled up to move the dryer vent, clean the vent out, and reset it.

I have joked that the house floor will likely survive ‘The Big One,’ but everything else will break.

With the blog done, I headed to First United Methodist Church in Beaverton. There, I met with Wendy, the church administrator, and we looked at the space and discussed getting the tables back. We turned on the new dishwasher. I then chatted with Pastor Ken for a while. We talked about books, history, and my AI work.

Lunch was at Lake Owego Grill, and there I talked to some Nike folks, some still working and others retired like me. It was great to get caught up, and I gave one of my cards, and others took photos of it. I am easily found.

I sat at the bar, and I recognized the bartender, and we updated each other. We had not seen each other for years. We talked about the passing of my wife and how to survive these kinds of events (cancer and a brain tumor for me). That Jesus never promised a life without suffering, but that He would stand with you. I did mention that I was getting too much standing time and would prefer fewer opportunities for Jesus to stand with me! That got a smile.

The sandwich was huge whole chicken breast with bacon and other items. Sort of a club sandwich that has gone over the top with chicken. I will not order it again. I like a real club with layers.

I returned home (and lost my hat behind the chair) and got updates from Jeff before he headed out. He left the garage door open (I did not check), and my neighbors emailed me a reminder to close it. Everyone is looking out now.

I drove back to the Lake Owego Grill to find my wayward hat (not knowing it was in the house), and the staff reminded me that I had tipped it to them and thus had it. I stopped by East Harbor Restaurant and got too much food. I found my hat in the house.

I was glad that ICE was not operating in Beaverton while I drove there (they had been there before), and I survived my short trip without being shot by ICE. They seem to be shooting people, and folks are dying in detention all the time. And then blame you for being killed by them. 1984-style wording took a few years to happen.

Not happy with adventureism in South America, President Chaos-Battleship is now eying a war with Iran. Let’s see if we can get through another week without another war. The US Senate did not pass a resolution invoking the war powers limits to end the war (though such action has never been tested in court and may not be in accordance with the US Constitution). The President can take that as approval (growl!), and I also read that the US House has a bill to approve the annexation of Greenland. Endless war/aggression is our new foreign policy, from what I read.

With some dinner, too much, and I watched the rest of Season 1 of The Agency (reviews said the second season is questionable, and I will stop there, I think). I liked it and thought it was a good ten-episode modern spy story. It centers on the main character’s lies to cover his love affair while in the field as a spy for the US, based in London. If you like spy stories and the messiness of modern spying, The Agency’s first season is recommended.

I moved to the office and wrote code until almost midnight. I was trying to add some matching algorithms to my solution for the Kaggle contest. I learned that comparing strings in Python has limited options for percentage matching. I also have not gotten my Pandas working in my head and am doing something wrong. Some not Pythonic code, as is said when I mixed up C with Python with Pandas.

I did learn that fuzzywuzzy was what I needed and available in the environment I use. Yes, Python and its libraries are playfully named (Python is named after Monty Python, not the snake). I managed to get that running, but my extraction logic from the dataframes in Pandas is not Pythonic. I am getting the whole dataframe, not the string I want, and this yields an interesting response when sending a dataframe to a string routine (splat!).

I will research more. It took me hours to realize I was not doing something right, and I made some basic typos. Python is interpurted and that can create long logs of failures for a simple mistake. I made less progress than I hoped.

Dizzy from my new meds and Pythonic issues, I read a few pages and then went to sleep after getting up, taking more meds, doing the dishes, resetting the coffee maker, and assembling coffee for 7:15 in the morning.

Thanks for reading.