Russell Atkinson's Blog, page 21

February 24, 2023

Worbot: creating a successful Wordle solver

 

My Wordle solver, Worbot, has the following statistical accomplishments:

It has missed the word entirely only twice. Ignore the current streak 0 because my program doesn’t actually track that. If you average it out, it comes to about 3.9. It plays entirely in hard mode. Here’s how I created it.

First, I scraped the list of target words from the original Wordle website (before the Times bought it). By target words, I mean words that can actually appear as the winning word. There are many valid words that are accepted as guesses, but never used as the target. I computed the frequency of each letter in each of the five positions in the target words. In case you want to know what they are, here are the top few.

SAAEE (most frequent in each position)COINY (2nd most frequent)BROST (3rd)

Then I ran the target list and selected 64 words that all scored high in the frequency of each letter, e.g. CRONE, SAINT.  I already had data from Google Nwords about the frequency of various words in English. I have word lists, including a 5-letter list, ordering the words by frequency. The top scorers are WHICH, THERE, THEIR, and WOULD. I wanted these because I knew that Wordle used mostly common words as target words. That’s the data I needed.

Now, to the logic of the program. For the first guess, it randomly selects one of those 64 words. It receives the usual feedback of gray, yellow and green. After that the program ignores the target list and refers only to my list of 5-letter words in frequency order. That list includes many words that are not possible target words, so the program doesn’t “cheat.”  It simply tests each word for conflicts and if it hits one, moves on to the next word. At each level, it uses the colors from all the previous guess results to cull out bad words.

For example, suppose the correct word is LINEN and Worbot guesses SAINT for its first guess. The I and N would be yellow, the rest gray. For the second guess, it would start with WHICH, but reject it because it doesn’t have an N. THERE would be skipped because it has a T and doesn’t have an N, and so forth. The first word it would come to with an I and an N is AGAIN, but that would be rejected because of the A, which was gray earlier. The first word that has no conflicts is GIVEN, the 65th word on the frequency list. This would produce green for the I, E, and N. And so on. If you are writing a solver, or just want to improve your guessing, I suggest you consider using this simple logic. BTW – Worbot has never gotten the word on its first try, and neither have I.

The post Worbot: creating a successful Wordle solver appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on February 24, 2023 11:48

February 21, 2023

The Hardy Boys books are now public domain!

I just discovered that Project Gutenberg is now publishing some of the Hardy Boys books for free download. I absolutely devoured those books when I was a kid. If you want to check them out, here’s a link to one of them: The House on the Cliff.

The post The Hardy Boys books are now public domain! appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on February 21, 2023 13:23

February 20, 2023

Parable of the Sower by Octavia E. Butler

Parable of the Sower (Earthseed, #1)Parable of the Sower by Octavia E. Butler
My rating: 4 of 5 stars

Lauren is a tall, strong, black teenager in Southern California. She watches the apocalypse, or, more accurately, slowpocalypse, engulf her area. Life has deteriorated to where thievery, arson, scavenging and bribery have become the overwhelming lifestyle. She has devised a plan to escape it and has concocted a religion, Earthseed, to provide philosophical underpinning for it. The book is classified as science fiction, rightfully so, but there are no aliens, monsters, or space travel. It is somewhat like The Road by Cormac McCarthy, but much better written and, at times at least, uplifting.

The book is slow to really get going. Her survival plan doesn’t really start until about halfway through the book, but it is imaginative and evocative at that point. I found it interesting enough, but also disliked the doomsaying assumptions made at the outset. In the book, virtually no one is to be trusted and government, police and all forms of power are corrupt and have abandoned the people. In my experience, when hard times or disasters hit, people come together and help each other out and so do our state, local, and federal authorities as well as non-profits. They don’t kill each other and set fire to a house in order to pillage their neighbors’ belongings. This kind of fiction can feed the paranoia of the survivalists and preppers. The book is a decent read, but just remember, it is fiction.

View all my reviews

The post Parable of the Sower by Octavia E. Butler appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on February 20, 2023 08:59

February 18, 2023

Misconceptions

I thought I’d clear up a few misconceptions.

This being tax time, I know of one common misconception. Some people think that if they get a little extra income that pushes them into the next higher bracket, they actually lose money. There are some very specialized taxpayer situations where this could be true; for example, if someone qualifies for a special deduction or benefit based on low income and they now earn more than the cutoff. But for the vast majority of taxpayers, the new, higher tax bracket applies only to the extra money you earned over the limit. All the money you earned lower than that limit is taxed exactly as before. In simple terms, if you earn more, you’re better off.

Another misconception that surprised me is about the lottery. A friend didn’t understand why anyone would buy a $10 lottery ticket instead of a $2 ticket since he knew every ticket has the same chance of winning. He thought “ticket” meant a piece of paper. In fact, one ticket is a string of numbers (6 numbers for Mega Millions and Powerball in the United States, $2 per ticket). It’s possible to have multiple tickets on one piece of paper. A $10 ticket has five strings of numbers and has five times the chances of winning as a $2 ticket.

The last misconception is about electric vehicles (EVs). I’ve heard some people say they think EVs are not any better for the environment than gas cars because lithium mining is as destructive as drilling and refining petroleum for gas. I’m not going to argue the point about that because the manufacturing process uses plenty of energy and heavy metals for both types and varies a lot by size and features of the specific cars, but that misses the point. The harm gas cars cause to the environment is primarily the emissions from driving. EVs produce none; gasoline produces a lot and that’s causing climate change. Arguments that power plants that provide the electricity for EVs cause just as many emissions is simply not true, at least not in places where EVs are widely used like California and Norway. Most power there is produced by renewable sources like wind, solar, hydroelectric, and geothermal.

The post Misconceptions appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on February 18, 2023 19:24

February 5, 2023

Lessons in Chemistry by Bonnie Garmus

Lessons in ChemistryLessons in Chemistry by Bonnie Garmus
My rating: 3 of 5 stars

Elizabeth Zott is a brilliant chemist, but this being the 1950s and 60s, and she a woman, she is not allowed to finish her PhD, she is sexually molested, hired at a fraction of the pay of her male colleagues who are anything but brilliant, and in general no one believes she is actually capable of being a scientist since she’s not a man. That’s just for starters. I am very sympathetic to this plot line since my own brilliant mother, who skipped two grades, was date raped in college by a football player, and when she reported it to her sorority mother, was expelled for immorality. Nothing happened to the football player. So, yes, stories like this do happen. The writing style was decent enough.

Having said that, the author lays it on too thick in the book. It’s 350 pages of the same thing, and it becomes very unbelievable very fast. Zott has a child out of wedlock with a fellow chemist and the child is more intelligent that Einstein and Feynman combined. So is her dog Six Thirty. I went to college in the 60s and plenty of women were successfully getting degrees and working in scientific fields. My daughter is a brilliant chemist and chose to leave academia for marriage and motherhood. She wasn’t fired or discriminated against, and she is happy with her choice. So the book just seemed like a diatribe against all men. I felt castigated for my Y chromosome all the way through. Maybe some women feel that way and will get off on this revenge porn of a sort, but I couldn’t make it past halfway. I skipped ahead from there until the end. The ending was unfortunately too predictable and too unbelievable.

View all my reviews

The post Lessons in Chemistry by Bonnie Garmus appeared first on OnWords.

1 like ·   •  1 comment  •  flag
Share on Twitter
Published on February 05, 2023 12:47

February 1, 2023

Merrill Lynch Bank of America fail!

I just wasted over an hour trying to transfer funds from my checking account to my investment account at Merrill Lynch. This used to be easy before Bank of America took over Merrill Lynch. I could go on the Merrill website where I had already set up a relationship between the two accounts. The checking account is at Bank of the West, not Bank of America and pre-existed the B of A takeover.

Now I go through the same steps and get to a page where I fill in the information: i.e. into or out of the Merrill account, the amount, the date (next day). The only other option at that point is to click the button labeled “Continue Transfer.” I click that and get a big red error message saying:

You have exceeded the number of attempts allowed to enter a PIN. For assistance please call contact (sic) the Merrill Lynch Help desk.

At this point a new box appears where the “Continue Transfer” button had been. This box is labeled PIN in bold red. I try to click in it, but the web site has disabled it. This box wasn’t there the first time and I don’t even have a PIN for this. I’m already signed into my account with my regular password.

So I call my Financial Advisor at Merrill and only get voice mail. No one picks up. In the old days, an assistant would pick up if the advisor wasn’t available. I leave a voice mail. No one calls back right away, so I decide to call the Merrill 800 number showing on the web page for assistance. It took four calls. They went like this:

A recorded message tells me I’m being recorded and says they have a special offer and asks if I am over 50 (press 1) or not (press 2). I don’t want to hear an offer so I press 0 repeatedly. It hangs up on me.I call again. Same message. This time I press 1. A woman’s voice comes on telling me there’s a special offer of health insurance for seniors. I tell her I’m not interested and I need help with my account, but she keeps talking as I’m trying to talk. Probably a recording, although it didn’t sound like it. This time I hung up.I call again intending to press 2, but a different message comes up, one recorded menu asking what I want to do. I say “transfer funds” and it understands and puts me in a queue for an associate. That takes a few minutes and a very polite woman comes on the phone and I explain all of the above. I’ll skip all the grisly detail, but she clearly didn’t understand what the web page was like or what the problem was; after 27 minutes she finally puts me into an automated system to create a PIN for funds transfer. It asks me to enter my 10-digit account number. The problem with that is I have two account numbers. One is an 8-digit Cash Management Account (CMA) number and the other is the account number on the Bank of America checking account associated with the CMA account. That’s 12 digits. I start entering that number and the system disconnects me.I call again and eventually get through to another polite young lady. I go through the same thing again. This time she gets the point faster and tells me she will set up the PIN so I can transfer directly. First, though, she has to verify me through my phone and texts me a one-time PIN (not something to use for the deposit). I recite it back to her over the phone. Think about how stupid this is. She didn’t simply text it to the number associated with account as shown in her records, but asked me what phone number to text it to. Obviously it was the phone I was talking to her on; that could be anyone giving whatever phone they were calling on. All it proved is that the person calling was on a phone capable of receiving a text. But it turns out she also has to verify my identity through the branch office. At least she had the foresight to ask for my phone number so that if I get cut off, she’ll call me back, which the first woman didn’t do. She tells me she tried two different numbers at my branch and couldn’t get through. She says someone from my branch office will have to call me later and verify my identity. Why not ask me information like my address, routing and account numbers, etc.? I’m calling from the phone associated with the account. I can verify on the phone with a fingerprint. Why not use that? No, the branch has to do it in person. She ends the call. I try again on my computer and notice that this time the website produces a PIN box for me to use on the first try, but of course I still don’t have one. I tried using the one-time PIN she sent me earlier, but it doesn’t work. She had mentioned at some point in the call that they’ve had trouble with some browsers not displaying the web page correctly.

At this point I’d been on the phone for over an hour and the transfer still hasn’t happened. I realize I could have just written a check on the other account and used my Merrill phone app to deposit it in my Merrill account via photographic image. That app has always worked well. One problem with that is I have bad arthritis in my hands and really dislike having to write checks because it is painful. I don’t even like endorsing them because Merrill requires a rather wordy sentence on the back in addition to my signature. Also, that doesn’t work going the other way. My wife is the main user of the Bank of the West account and doesn’t have an app for it and ability to deposit over the phone. The bank may have one, but she refuses to get such a thing. She’s not a fan of tech. Most transfers are from Merrill to Bank of the West, so this transfer system needs to be fixed so I can do it both directions on my desktop computer.

I sit down at my computer and start to write this blog post when I get a phone call from my Merrill Advisor. I should mention at this point that he has always been very responsive and quick to meet my needs. I like him and his service. The problem is with the website and the whole design of the system to allow transfer but fails to give the ladies at the 800 number power and training to take care of things like this. If Merrill Lynch could do it, Bank of America should be able to. There isn’t even a need for a password. I’ve already had to sign in with username and password.

My advisor was unhappy and asked how he could help. I told him in brief form what I’d just gone through and he immediately took whatever steps were necessary to make the transfer happen. As I said, he’s always been responsive. He explained that when I’d called earlier he’d been out of the office driving his assistant to the airport, which is why neither he nor his assistant answered. I take him at his word, but I know that my previous advisor (both pre- and post-B of A takeover) always had someone to take any call that came in. That phone number was never left unmanned. He also said that the “back office” had sent him a message that I’d complained which counts against him as a client complaint. I agreed it was a client complaint but it was really with the website design and the bureaucracy with the back office system. He tells me there is always someone there at the branch and that the back office could have gotten through easily if they’d tried. My advisor was not familiar with what he called the FTS(?) PIN system. Neither am I, and apparently the back office people aren’t either. He said he will have someone see that I get a PIN. By the end of the phone call, it had been over 90 minutes of effort to complete this, and I still don’t have a PIN.

The whole point of associating the other bank account was so that the client can seamlessly make such transfers without the need to contact anyone at the branch or back office. My advisor assures me that he will always take care of me for such things, and I’m sure he will, but I shouldn’t have to call him, not for this. It is inevitable that he will not be available at times, being on vacation or having other clients to take care of, and apparently, his assistant isn’t always, either. That’s the whole reason for a computerized system. Why create it and then make it impossible to use without going through your advisor?

The post Merrill Lynch Bank of America fail! appeared first on OnWords.

1 like ·   •  0 comments  •  flag
Share on Twitter
Published on February 01, 2023 15:34

Merrill Lynch Bank of America sucks!

I just wasted over an hour trying to transfer funds from my checking account to my investment account at Merrill Lynch. This used to be easy before Bank of America took over Merrill Lynch. I could go on the Merrill website where I had already set up a relationship between the two accounts. The checking account is at Bank of the West, not Bank of America and pre-existed the B of A takeover.

Now I go through the same steps and get to a page where I fill in the information: i.e. into or out of the Merrill account, the amount, the date (next day). The only other option at that point is to click the button labeled “Continue Transfer.” I click that and get a big red error message saying:

You have exceeded the number of attempts allowed to enter a PIN. For assistance please call contact (sic) the Merrill Lynch Help desk.

At this point a new box appears where the “Continue Transfer” button had been. This box is labeled PIN in bold red. I try to click in it, but the web site has disabled it. This box wasn’t there the first time and I don’t even have a PIN for this. I’m already signed into my account with my regular password.

So I call my Financial Advisor at Merrill and only get voice mail. No one picks up. In the old days, an assistant would pick up if the advisor wasn’t available. I leave a voice mail. No one calls back right away, so I decide to call the Merrill 800 number showing on the web page for assistance. It took four calls. They went like this:

A recorded message tells me I’m being recorded and says they have a special offer and asks if I am over 50 (press 1) or not (press 2). I don’t want to hear an offer so I press 0 repeatedly. It hangs up on me.I call again. Same message. This time I press 1. A woman’s voice comes on telling me there’s a special offer of health insurance for seniors. I tell her I’m not interested and I need help with my account, but she keeps talking as I’m trying to talk. Probably a recording, although it didn’t sound like it. This time I hung up.I call again intending to press 2, but a different message comes up, one recorded menu asking what I want to do. I say “transfer funds” and it understands and puts me in a queue for an associate. That takes a few minutes and a very polite woman comes on the phone and I explain all of the above. I’ll skip all the grisly detail, but she clearly didn’t understand what the web page was like or what the problem was; after 27 minutes she finally puts me into an automated system to create a PIN for funds transfer. It asks me to enter my 10-digit account number. The problem with that is I have two account numbers. One is an 8-digit Cash Management Account (CMA) number and the other is the account number on the Bank of America checking account associated with the CMA account. That’s 12 digits. I start entering that number and the system disconnects me.I call again and eventually get through to another polite young lady. I go through the same thing again. This time she gets the point faster and tells me she will set up the PIN so I can transfer directly. First, though, she has to verify me through my phone and texts me a one-time PIN (not something to use for the deposit). I recite it back to her over the phone. Think about how stupid this is. She didn’t simply text it to the number associated with account as shown in her records, but asked me what phone number to text it to. Obviously it was the phone I was talking to her on; that could be anyone giving whatever phone they were calling on. All it proved is that the person calling was on a phone capable of receiving a text. But it turns out she also has to verify my identity through the branch office. At least she had the foresight to ask for my phone number so that if I get cut off, she’ll call me back, which the first woman didn’t do. She tells me she tried two different numbers at my branch and couldn’t get through. She says someone from my branch office will have to call me later and verify my identity. Why not ask me information like my address, routing and account numbers, etc.? I’m calling from the phone associated with the account. I can verify on the phone with a fingerprint. Why not use that? No, the branch has to do it in person. She ends the call. I try again on my computer and notice that this time the website produces a PIN box for me to use on the first try, but of course I still don’t have one. I tried using the one-time PIN she sent me earlier, but it doesn’t work. She had mentioned at some point in the call that they’ve had trouble with some browsers not displaying the web page correctly.

At this point I’d been on the phone for over an hour and the transfer still hasn’t happened. I realize I could have just written a check on the other account and used my Merrill phone app to deposit it in my Merrill account via photographic image. That app has always worked well. One problem with that is I have bad arthritis in my hands and really dislike having to write checks because it is painful. I don’t even like endorsing them because Merrill requires a rather wordy sentence on the back in addition to my signature. Also, that doesn’t work going the other way. My wife is the main user of the Bank of the West account and doesn’t have an app for it and ability to deposit over the phone. The bank may have one, but she refuses to get such a thing. She’s not a fan of tech. Most transfers are from Merrill to Bank of the West, so this transfer system needs to be fixed so I can do it both directions on my desktop computer.

I sit down at my computer and start to write this blog post when I get a phone call from my Merrill Advisor. I should mention at this point that he has always been very responsive and quick to meet my needs. I like him and his service. The problem is with the website and the whole design of the system to allow transfer but fails to give the ladies at the 800 number power and training to take care of things like this. If Merrill Lynch could do it, Bank of America should be able to. There isn’t even a need for a password. I’ve already had to sign in with username and password.

My advisor was unhappy and asked how he could help. I told him in brief form what I’d just gone through and he immediately took whatever steps were necessary to make the transfer happen. As I said, he’s always been responsive. He explained that when I’d called earlier he’d been out of the office driving his assistant to the airport, which is why neither he nor his assistant answered. I take him at his word, but I know that my previous advisor (both pre- and post-B of A takeover) always had someone to take any call that came in. That phone number was never left unmanned. He also said that the “back office” had sent him a message that I’d complained which counts against him as a client complaint. I agreed it was a client complaint but it was really with the website design and the bureaucracy with the back office system. He tells me there is always someone there at the branch and that the back office could have gotten through easily if they’d tried. My advisor was not familiar with what he called the FTS(?) PIN system. Neither am I, and apparently the back office people aren’t either. He said he will have someone see that I get a PIN. By the end of the phone call, it had been over 90 minutes of effort to complete this, and I still don’t have a PIN.

The whole point of associating the other bank account was so that the client can seamlessly make such transfers without the need to contact anyone at the branch or back office. My advisor assures me that he will always take care of me for such things, and I’m sure he will, but I shouldn’t have to call him, not for this. It is inevitable that he will not be available at times, being on vacation or having other clients to take care of, and apparently, his assistant isn’t always, either. That’s the whole reason for a computerized system. Why create it and then make it impossible to use without going through your advisor?

The post Merrill Lynch Bank of America sucks! appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on February 01, 2023 15:34

January 27, 2023

Behind Her Lives by Briana Cole

Behind Her Lives (Pseudo)Behind Her Lives by Briana Cole
My rating: 3 of 5 stars

What I liked most about this book was the clever plot. There were enough twists and turns to keep me guessing to the very end. That said, in the end I felt disappointed with this book. The writing was very uneven – quite good at the beginning but deteriorating as it continued. This included the proofreading, which allowed numerous errors such as wrong word (off for of), mixed tenses, omitted words, and commas scattered in random, odd places.

The story is a mystery. The main character, Deven, is called upon to identify a body as her half sister Kennedy, but she doesn’t think it is her sister. Deven is black, something I didn’t pick up on at first since there was no physical description given of her. The cover picture is the profile of a black woman, but is obscured by two such images overlaid on each other and the title print over that. With straight hair, her race was not obvious at a quick glance, but perhaps I was just unobservant. In any event, the cover picture was of Kennedy, not Deven, and with different fathers, they could have been of different races. Her race shouldn’t matter, but as the story went on, it seemed rather important. At one point Deven mused that she couldn’t marry outside her race. That made me assume she was white and thinking about a black man, when in fact, it was the opposite. The dialog became “blacker” as it went on, or at least it seemed that way to me; e.g. I had to look up the word “locs.” The characters became rougher. At the beginning, it was nurse, doctor, hospital setting, but then some shady characters fell into the mix and everyone, even Deven, developed a filthy mouth toward the end.

Deven often did not behave in remotely logical ways. She decided to try to find her sister by herself, often withholding critical information not only from the police, but from others trying to help her. She would run off to confront someone, even after being told to let the police do it, and as she arrived, wished she had called the police instead, then even when confronting someone who could be dangerous, had no plan as to what she would say or do. She would get important calls or texts and not read or listen to them until much later. She also spent no time at work for days and days. There was a pregnancy inserted into the plot for no reason I could determine as it disappeared from the plot line as quickly as it appeared. Though I can’t recommend it, the mystery itself was intriguing enough to keep me reading, and it was logically resolved in the end.

View all my reviews

The post Behind Her Lives by Briana Cole appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on January 27, 2023 16:38

January 22, 2023

The Divider by Peter Baker and Susan Glasser

The Divider: Trump in the White House, 2017-2021The Divider: Trump in the White House, 2017-2021 by Peter Baker
My rating: 3 of 5 stars

Husband and wife team Baker (New York Times) and Glasser (The New Yorker) have written a massive tome documenting the Trump presidency based on years of personal reporting and interviews of key insiders. I won’t bother to analyze or bash Trump since everyone pretty much knows what he is. Those who need to hear the truth about him won’t listen anyway. What I found interesting and important about the book is how it portrays the people around him in the White House or other key government positions. I hadn’t realized how much they almost all hated each other. They fell into two general categories: those true pro-Trumpers and those who took positions primarily to prevent Trump from doing something horrible. The former didn’t really like or respect Trump, nor he them, but they saw him as a vehicle for their own agenda. These include people like Jared Kushner (Israel), Jeff Sessions (immigration), John Bolton (Venezuela), Betsy DeVos (charter schools), and many others. The latter included the generals such as Mattis, McMaster, and Kelly, (but notably did not include Flynn, who was a true Trumper with an agenda of his own), Tillerson and many others. None of them was very effective either at their own agendas or at controlling Trump. Even within the second category, the in-fighting was fierce.

My takeaway from the book is how blessed we are to have a civil service system. Our governments and federal, state and local level chug along doing what needs to be done, whether protecting us , providing sanitation, education, social services, foreign relations, and a myriad of other things, all despite, not because of, the elected politicians. They are also protected by the civil service system which makes it hard to fire rank and file employees, and easy for arbitrators or boards to reinstate them. The same is true in the military. It leads to incompetent people staying in positions and plenty of the inefficiency for which government is known, but it is also the safeguard that keeps people like Trump from replacing knowledgeable career people with partisan incompetents or worse. It was our inexorable government machinery that kept our allies on our side, our military within the law, our court system running, and our economy working.

The book itself is too long and ponderous to be an enjoyable read. It is really written as a historical source document. People who follow the news closely won’t find much surprising, although I skipped liberally through the second half and may have missed something. The book is over 700 pages.

View all my reviews

The post The Divider by Peter Baker and Susan Glasser appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on January 22, 2023 09:07

January 12, 2023

Desert Star by Michael Connelly

Desert Star (Renée Ballard, #5; Harry Bosch Universe, #36)Desert Star by Michael Connelly
My rating: 4 of 5 stars

I’m a big Harry Bosch fan, so take that into account in the rating. If you’ve read his earlier stuff, you know the good and the bad of the style. Harry is a rule-breaking, abrasive, now ex-LAPD detective who still burns with a fury over injustices in the world. He is here working cold cases, called back to assist the force in a squad of volunteers led by Renee Ballard, the only sworn officer. The plot suffers from too much predictability, but the detail of how Harry works is pure joy to read. Connelly gets into the cop nitty-gritty – where Harry parks to get the best view, how he positions his body to look old and decrepit, the lies he tells to get people to tell him what he wants, and all the people and resources in the LAPD he knows how to use and clues only he is sharp enough to spot. There’s a big reveal in the epilogue, but there’s enough telegraphing of it throughout the book that I can’t call it a surprise. The bottom line: if you’re a Harry Bosch fan, read it and enjoy it; if not, avoid it, or if this is your first one, go back to the earlier ones. Don’t start here.

View all my reviews

The post Desert Star by Michael Connelly appeared first on OnWords.

 •  0 comments  •  flag
Share on Twitter
Published on January 12, 2023 14:46