Election 2024: There Will Be No Spoilers

For the rest of this year and probably into the beginning of next we will have to endure an endless string of headlines that cover the latest threat to Trump winning the Republican nomination and editorials about why President Biden ought not to run again.

Trump is going to run no matter what, it doesn’t matter if he wins the primary or not. Let that sink in, it literally does not matter if DeSantis, or Haley or Christie or whoever the next darling not-Trump candidate is, he is going to run unless he’s dead. He’ll be running from prison if it comes to that.

Losing the nomination poses a minimal threat to Trump: three candidates could easily pull enough electoral votes off of Biden that the election is thrown to the House where Trump most likely wins.

Ignore any and all articles about So and So is a Threat to Trump. They are all clickbait or fantasy.

Hint: She isn’t

In six months the Trump opposition will rally around Biden. It’s easy to say he shouldn’t run and that he is a massive risk to the Democrat’s cause now, especially if you believe that in a fantasy world Trump loses the nomination and then doesn’t run. The reality of a Biden v Trump matchup hasn’t hit the anti-Trump forces yet.

Polling also reflects a world where the matchup isn’t yet known. Sure, there are independents and Democrats that would rather not see Biden run again (me!), and they’ll answer polls today with that perspective. They won’t answer them that way when Trump runs away with the nomination.

As soon as it is clear the Trump is — officially — the enemy in the general election all of this handwringing will fall away. Anyone doubting Biden’s age and fitness will explain why it’s fine now, polling will take a swing back towards Biden and probably show that fault lines haven’t budged since 2020, Dean Phillips will realize he isn’t helping (or worse, he is just completely ignored) and drop out and endorse Biden. Surrogates will suddenly figure out how to talk about Biden’s accomplishments over the last three years.

The progressive conversation will crystalize on the events of Jan 6 and Trump’s current legal fights. Right now, there is a lot of popcorn munching on the left as Trump fights multiple indictments. As soon as the indicted is a more clear and present danger it will return to shrill warnings.

Really, the most incredible part of the internal conversation on the left is that it ignores Trump completely and focuses soley on Biden.

By the time you are cracking open a cold one for Memorial Day all the op-eds about either Trump or Biden that are popular today will be forgotten, found only with cobwebs on them in Politico’s archive.

Should Your Small Business Employer Offer You Benefits?

Recently the question was posed to me: should a small business (5 people) offer insurance to their staff? The person asking had an independent plan but wanted a greater peace of mind from employer sponsored health insurance. This person was 30 years old.

Yes, the business should offer it, but don’t expect great things.

I’m in Tennessee, attached is my rate schedule. As long as two employees have coverage, we are a group. Owners count towards those two people.

The image is a document page that appears to be part of a health insurance plan proposal. The page is divided into several sections with headings and tabulated information.  At the top, there are two tabs highlighted. The first tab on the left is labeled "Current Plan" and underneath it, the details read "Silver 1165 ($3000/$4500/50%)". The tab on the right is labeled "Pharmacy Features" and includes pharmacy details "10 / 35 / 50 Copay after Deductible" and "Rx Formulary Essential".  Below this is a section titled "Benefit Overview" with five columns:  "Office Visit" with "50% after Deductible".
"PhysicianNow" with "50% after Deductible".
"Urgent Care" with "50% after Deductible".
"IP Hospital" with "50% after Deductible".
"Emergency Room" with "$500 + Ded/Coin".
The next large section is "Age/Rate Information", which is a table with ages ranging from 0-64+ and corresponding monthly rates for the insurance plan. The ages are divided into three columns:  The first column lists ages 0-14 to 30 with rates from $240.71 to $357.14.
The second column lists ages 31 to 47 with rates from $364.69 to $491.81.
The third column lists ages 48 to 64+ with rates from $514.47 to $943.98.
The bottom of the image contains a "Commission Disclosure" note stating that the rates include standard commissions and may include additional compensation, and advises contacting a broker or BCBS representative for questions.  The document footer indicates "Page 4 of 15" and includes a status/quote pending number "00082173".  There is a footnote indicating that the plan includes "Essential Health Benefits: Yes", "Minimum Essential Coverage: Yes", and "Minimum Value: Yes".

A 30yo is free, $12/day.

The catch is that it is a high deductible plan (HDP) so out-of-pocket costs will be $4500/person if you max out benefits, or $9000/family.

If you compare plans on HealthCare.gov I think you’ll find the rates are comparable, but you can get worse-but-cheaper plans. The real upside here is risk reduction and tax benefits if you have an HSA compatible plan and you itemize, maybe $1600 in tax savings*.

Your overall risk profile isn’t likely to change much as long as you have some level of benefits — but check the details**. The ACA mandates minimum coverage for ALL plans, meaning the total-out-pocket costs (premiums + medical expenses) are within a set range.

Vision and dental, for whatever reason, are typically inexpensive.

Bottom line:

1. Insurance is a raw deal no matter what.

2. You may or may not be better of with an independent plan vs a group plan

3. IMHO, there isn’t a good reason for your employer not to offer a plan unless the costs are significantly higher where you live. And I say this AS a business owner with 6 employees and 2 owners.

*If you max out the family contribution limit of $8300, your potential tax savings are $8300 * [Tax Bracket]. You can also invest extra money in your HSA, allowing you to grow the money tax free for healthcare expenses.

**Prescriptions, specialties, coverage for your preferred doctor/hospital, possible travel for covered specialists depending on your location. Absolutely know what hospitals are covered no matter what, the “wrong” hospital can cost you thousands and thousands compared to the “right” hospital across the street.


Produce8 cold called me and managed to set up a 20 minute demo. I guess they caught me on a good day because I spoke for a few minute. Produce8 is a young company, a few months at most into their public launch phase.

The pitch is that the move to mostly-digital (not in office) work has made us less productive, prone to burnout, etc.

This isn’t a hard pitch for business owners to appreciate.

So they are out to help us fix it! Here is how they describe their benefits:

Produce8 uncovers patterns that represent focus, distractions, burnout, and the time it takes to reset after context switching. We use the interactions teams have with their applications to help them address the challenges of the digital workplace.

Cool. What does that mean?

Quick aside: I did get permission during the demo for a blog article

Let’s start with the insights: there are four and they are…

  • How much time you worked
  • How much of it was screen time
  • What your digital intensity score is, which looks like screen time divided by working hours.
  • Focus score

The first three are self-explanatory, I don’t recall the definition of the focus score but I assume it scores context-switching by frequency and duration of app changes.

That’s it for insights.

Then you have metrics. Which is essentially how much time was spent in what app and when, across a time range of your choice. You can view it for your team or yourself. You can choose a time range for both insights and metrics.

Here is workspace (aka team) view of metrics:

They have an official list of integrations, but it is a browser extension and desktop application you download to track. ConnectWise has an API integration, everything else is based off the browser extension and desktop application.

So, what makes this different than other solutions?

Their answer: They don’t “spy” on you. It isn’t screen recording. Browser history is optional, you can even filter by website. If I don’t want to report my Facebook activity I don’t have to, but I can still report my productive time on Slack.

The metrics are “un-opinionated” which is a marketing way of saying they only present the raw data. There is no analysis.

And, as they like to bring up, they have some of the same VC backers as IT Glue, Scalepad and Quoter.

That’s it. That’s the entire product.

My Thoughts

1. This isn’t marketed towards MSPs 1or all the screenshots would have Teams, Outlook, OneNote and the PSA/RMM of your choice. My understanding is that the backers have experience in the channel so they are selling (not marketing) there first.

I also don’t understand the real value prop to MSPs: we’re going to see that our day is spent in Teams, Outlook, PSA/RMM etc., and that context switching happens often. Super often, especially for anyone working support.

This doesn’t mean that there is zero value. In a very limited free trial we did I was surprised to see how much time one of my techs spent in Outlook, but the rest of the days I looked at followed the pattern I expected. A team member was surprised to see how much time he spent working.

2. They aren’t anywhere first to market — see Toggl Track which has been around for years. Produce8 lacks serious differentiation. Worse, Toggl and others include a richer yet of features for the same price ($18/user/month).

3. Their target should be enterprise, not MSPs. VC guys: when you realize I saved you 6 months and tens of thousands of dollars just send me a check for half the savings.

I don’t know how many MSP employees (users) there are in North America, out of 15,000-ish MSPs2 but under half a million seems like a decent guess. That’s an OK SAM, but the TAM will be much, much lower. On top of that, the average MSP is 4 or 5 people. Produce8 is looking at $100/mo/MSP for the average sale. That means they need 1,000 “average” MSPs to get to $100k in MRR3, a full 7-10% of the market. Ouch.

In addition, see point #1 above, they’ll have a very hard time demonstrating value to MSPs. Again, we know what our guys are in and that they context switch all the time. Welcome to the Channel.

As of 2019, the Fortune 500 employed nearly 30 million people. In addition, there will be a much higher need at the enterprise level.

Very few MSPs make it to the point where a middle-management layer is required. You must have a pretty high gross revenue before that is the case. I’d guess $3m-$5m for anything beyond an operations supervisor and a marketing coordinator. This means management and the owner will know what people are into just by walking around the office.

Enterprise is different: there are so many management levels that even midlevel management doesn’t have a clear view of what the people doing the work spend their time on. Produce8 can give them a window into that world. Even departments in a large company will require more monitoring if they want to keep tabs on everyone have analytical data of the workday.

The MRR potential is so, so much higher. Even cutting prices by 50%, the number of companies/departments they need to bring on board to match the $100k MRR is substantially less. 4 to 5 times fewer customers will bring in the same amount of MRR.

Maybe this is the long-term plan for Produce8, I suggest they make it their short-term plan.

And for the love of MRR, market that your app works with Microsoft Apps.

I reached out to Produce 8 for comment, I have not heard by back publish time.


Screenshots provided by the Produce8 media kit.

Screenshot sources are from Produce8’s media kit, which is wonderfully done. I was shown live data during the demo and it looked just like the screenshots.

  1. I really think they think like a SaaS company. Their media kit is on Notion, which is basically OneNote for developers and creator types. The integrations highlight products, like Asana, G Suite, Zoom, QBO, Jira, Trello, Mailchimp, Monday.com, Github, Basecamp, Zapier and Dropbox. The productivity ecosystem outside of the M365 platform. ↩︎
  2. I’ve heard estimates from 10,000 to 40,000 on the number of North American MSPs. The lower bounds seems more believable to me, although if you count every microbusiness that does monthly contracts maybe you will move higher, but that isn’t my focus here. ↩︎
  3. What’s special about $100k in MRR? Nothing, it’s just a round number that both MSPs and SaaS companies already have a conception of, and what it means. ↩︎

Patrick Stewart on how Fictional Characters Can Make You a Better Person

Earlier this year I began ever-so-slowly working my way through Les Miserables. The first section is devoted to the story of Monseigneur Bienvenu1, the bishop who will later give Jean Valjean some silver — the only place you see Bienvenu in the musical.

But in those first 80-odd pages you might think that the book was only going to be about Monseigneur Bienvenu. The character is so good in such a believable way it made me want to be more like him, which raised the question: what does it mean for you to want to become a better person, in the way of a fictional character?

Bishop Myriel aka Monseigneur Bienvenu, depicted by Gustave Brion, 1862. By Gustave Brion – Maison de Victor Hugo, Public Domain,


Bishop Myriel, depicted by Gustave Brion, 1862.
By Gustave Brion - Maison de Victor Hugo, Public Domain, https://commons.wikimedia.org/w/index.php?curid=74553495

Patrick Stewart speaking at the 2019 San Diego Comic Con International, for “Star Trek: Picard”, at the San Diego Convention Center in San Diego, California.
By Gage Skidmore

In an interview with NPR, Patrick Stewart is asked if his iconic character from Star Trek — Jean Luc Picard — made him a better person, his answer:

It gave me an idea of how I might become a better person, yes. I was able to absorb that and make those feelings a strong and firm part of my life.

Emphasis mnine.

I love that idea. For me personally, I don’t need to become more like Victor Hugo’s imaginary character, but I can use the character as an ideal to light the way to being a better person.

  1. Bishop Muriel is the character’s name and formal title. He is known to his community as Monseigneur Bienvenu, which can be translated as  “My Lord Welcome” or “Welcome, My Lord,” where ‘My Lord,’ is a title in the sense of a bishop or king. ↩︎

⚠️ 🤔

Alt text: Screenshot of a news article from "The Washington Post" titled "Election 2024: Some Democrats worry Biden's team is ignoring political warning signs." The subtitle adds, "Of particular concern to the president’s allies are indications that his support among Black voters, who were critical to his victory in 2020, may be softening." The article is by Tyler Pager and Dan Balz. Below the article headline is a link to "MORE COVERAGE" with a related story titled "Analysis: An ominous poll for Democrats, and what it says about a Biden alternative." The time at the top of the screen indicates 7:50, and there is a Wi-Fi icon with the signal strength and battery indicator showing 47% remaining.

They worry because this is clearly true. The D political machine is ignoring the risks, or burying them, out of fear of rocking the boat and losing the election.

Nothing But the Truth?

Politico has a medium-length article out today that reports testimonies and verified emails that contradict President Biden’s stronger denials regarding his relationships with the family businesses.

None of it would be the smoking gun that congressional Republicans are looking for to impeach Biden. However, it does cast a negative light on Joe Biden and will impeach the character that he and Democrats more broadly have built up of himself.

The allegedly false denials will cause way more of a headache than the actual events denied1. I think he could have come clean in 2020 and these things would 1000 news cycles ago, nearly forgotten. It isn’t just Joe Biden’s denials: the long-term insistence that the stolen Hunter Biden laptop is a big nothing-burger is appears untrue.

I don’t imagine that there is any Democrat who went on record refuting the importance of that laptop care to revisit those statements now.

Drip drip drip of small-lies and half-truths are a problem for any campaign2 but it is potentially disastrous for a campaign where the winner will be chosen by those on the margins. The handful of Americans who — somehow — have not made up their mind up either candidate.

I think Joe Biden is poor candidate for president and the Democrats would fare better if he decided not to run again and endorsed someone else.

  1. I don’t see anything in the article the promotes the allegation that Joe Biden pressured Ukraine to fire a prosecutor looking into a Ukrainian company with ties to Hunter Biden. That would be a guaranteed impeachment. ↩︎
  2. Except, possibly for Trump, where bigger is always better. ↩︎

The Difference Between Israel and Hamas

WSJ quoting Robert Habeck:

“After the Holocaust, the founding of Israel was the promise of protection to the Jews—and Germany is compelled to help ensure that this promise can be fulfilled,” Habeck said in a speech posted on X. “Of course, Israel must abide by international law and international standards. But the difference is this: would someone ever frame such expectations of Hamas?”

Robert Habeck (Vors. Bündnis 90/Die Grünen) Foto: Stephan Röhl

Digital Ocean simply doesn’t support multiprocessing on their app platform.

I use Digital Ocean’s App Platform for a docker run application. I also use celery for asynchronous processing and cronjobs inside of this application. For months it worked without issue, and then one day my logs started filling up things like Errno 38 above, all with celery, billiard and SemLock errors.

I wasted a lot of time troubleshooting so now let me save you time.

Digital Ocean simply doesn’t support multiprocessing on their app platform.

At least as far as I can tell, this thread finally made it click for me: https://github.com/Koed00/django-q/issues/522

The ultimate fix was to run a separate instance of the app in docker on a VM instead of the app platform (which yes, defeats the purpose of having the IaaS app platform in the first place).

Hopefully I got enough keywords in here that you, dear reader, can save yourself a day of development work.

CRITICAL/MainProcess] Unrecoverable error: OSError(38, 'Function not implemented')
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/celery/worker/worker.py", line 202, in start
File "/usr/local/lib/python3.10/site-packages/celery/bootsteps.py", line 116, in start
     File "/usr/local/lib/python3.10/site-packages/celery/bootsteps.py", line 365, in start
     return self.obj.start()
     P = self._pool = Pool(processes=self.limit,
   File "/usr/local/lib/python3.10/site-packages/celery/concurrency/asynpool.py", line 464, in __init__
     super().__init__(processes, *args, **kwargs)
   File "/usr/local/lib/python3.10/site-packages/billiard/pool.py", line 1045, in __init__
   File "/usr/local/lib/python3.10/site-packages/celery/concurrency/asynpool.py", line 482, in _create_worker_process
     return super()._create_worker_process(i)
   File "/usr/local/lib/python3.10/site-packages/billiard/pool.py", line 1141, in _create_worker_process
     on_ready_counter = self._ctx.Value('i')
   File "/usr/local/lib/python3.10/site-packages/billiard/context.py", line 179, in Value
     return Value(typecode_or_type, *args, lock=lock,
   File "/usr/local/lib/python3.10/site-packages/billiard/sharedctypes.py", line 81, in Value

     lock = ctx.RLock()
File "/usr/local/lib/python3.10/site-packages/billiard/context.py", line 108, in RLock
return RLock(ctx=self.get_context())
     SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1, ctx=ctx)
   File "/usr/local/lib/python3.10/site-packages/billiard/synchronize.py", line 70, in __init__
     sl = self._semlock = _billiard.SemLock(
 OSError: [Errno 38] Function not implemented

Inbox Zero Doesn’t Work — Here’s What I Do

Years ago I endeavored to hit inbox zero, the zen state where your inbox either stays at zero1 all day long, or at least ends at zero. A decade ago, this was not unreasonable: if you filtered out spam and newsletters you could respond to most emails quickly, even if some of the responses were along the lines of “I need more time to answer this thoroughly.”

And it felt like I accomplished something — all my things were done for the day, nothing outstanding!

Today, most of us are a long way from being able to empty out our inbox at any point in the day. It’s not possible. Too many emails come in as I’m processing email. It also no longer feels like an empowering accomplishment, all I did was file 100 emails and send replies to people that didn’t need to email me in the first place.

I tried a couple of different methods, but still found it impossible to stay on top of it. Around the same time, I started on Getting Things Done (GTD), a framework for collecting and prioritizing your todo list, without going overboard. I didn’t do great there, either.

I found that half-implementing inbox zero and half-implementing GTD meant that I missed important things and then I distrusted my systems — so I went back into my inbox and GTD even more to make sure I didn’t miss something, which I now I was guaranteed to do because there was no one place I was storing things to do. There were in my email, my todo list, my head, sometimes stickies.

Here is the current solution:

  1. I go through all emails — both personal and work — at the end of each day, and clear out all of yesterday’s emails. If today is Thursday, by EOD there will not be any emails remaining from Wednesday. This doesn’t mean I won’t take care of any emails from today, but yesterday’s email must get done.

    This is also possible, because on Thursday I can’t get any more emails from Wednesday. That also means I can finish it! There is a finish line I can see!

    Note: this doesn’t mean I don’t process any of today’s emails, just that I don’t have to.

  2. Emails that need a longer response or an action I can’t take now get put into my GTD Inbox (todo list), but no email is left unturned.

  3. Every morning I go through my GTD inbox (despite the name, this isn’t like email) — this was not an easy habit to start. The real key for me was to give myself permission to not work on that thing today. If it’s important but not urgent, it doesn’t make today’s must do list, which frees up my mental capacity to process the GTD inbox.

When I do all three of these daily I, (1) don’t miss important communications, (2) feel freedom to really end the work day, because I know I didn’t miss any important communications, (3) trust my systems.

So, “inbox zero,” now means “no emails left from yesterday,” which in turns means it is no longer impossible.

  1. Not zero unread, zero messages, full stop. Everything is deleted, archived or filed. ↩︎

Hong Kong Not Safe for Companies: Entirely Predictable

The news that Hong Kong is not viewed as good place for Western companies is no surprise. After the failed attempts at democracy in then 2010s Beijing began to crack down in earnest. They started with the protestors, then the free press, then the legislature, and then the judiciary.

With a complete loss of democratic government in a Western-antagonistic. authoritarian regime, there is no reason for any Western companies to be in Hong Kong versus another safer city in the region.

Personally, I don’t think I’d travel to Hong Kong — much less the mainland — if I had the chance. I’m sure that hawkish writings here on and on social media have me on the Chinese government’s map.

If I can’t travel to Hong Kong because of outspoken writing in the US, why would any entire company want to risk placing staff there? (Well, at least outside of trying to make as much $$$ as possible in the Chinese market).

Short Takes

Like Twitter, but only here.

Highest US Suicides Since World War II

Alt text: "A screenshot of a news article headline and an accompanying line graph. The headline from The Wall Street Journal reads 'U.S. Suicides Reached a Record High Last Year', with a subheading stating 'Older men are at highest risk, while suicide rates among young people have declined.' Below is a line graph titled 'U.S. suicides per 100,000' showing three lines representing 'Male', 'Female', and 'Total' from 1980 to a provisional point in 2022. The 'Male' line shows a significant increase over time, while the 'Female' line shows a slight increase, and the 'Total' line trends upwards more moderately. The source of the data is credited to the Centers for Disease Control and Prevention."

Nearly 50,000 people in the U.S. lost their lives to suicide in 2022, according to a provisional tally from the National Center for Health Statistics. The agency said the final count would likely be higher. The suicide rate of 14.3 deaths per 100,000 people reached its highest level since 1941…

…Men 75 and older had the highest suicide rate last year at nearly 44 per 100,000 people…

…Suicide rates for American Indians and Alaska Natives are almost double the rates for other Americans. 


Or read at CNN or ABC without the paywall.

Fax it in

Curious what the defense does if they don’t have a fax…

Death Zone

Alt text: "A screenshot of an NPR news article on a mobile device, reporting on a U.N. team's entry into Gaza's Al-Shifa Hospital and the discovery of a 'death zone'. The accompanying photo shows a grim scene inside what appears to be a vehicle or room with casualties covered in sheets."

In Gaza’s Al-Shifa Hospital, the U.N. team finds a “death zone” – https://www.npr.org/2023/11/19/1214024420/gaza-israel-al-shifa-hospital-evacuation

Grain Based Deserts

The image shows a text passage that reads:  “The leading source of calories that Americans consume is a category called "grain-based desserts," like pies, cakes, and cookies, according to the US Department of Agriculture. That..."

Peter Attia, Outlive

The leading source. Wow I knew American diet was bad but I didn’t know it was that bad.

Yes, Processed Food is Awful for You

The image shows a screenshot of an article from The Wall Street Journal titled "The Trouble With America's Ultra-Processed Diet". The article discusses the rising concern about ultra-processed foods in American diets and their effects on health. Displayed in the image is a paper grocery bag, spilling over with various processed food items like Nature Valley granola bars, Pizza Parlanno, Pepperidge Farm bread, Clif bars, a jar of Jif peanut butter, and Beyond Burger patties. The bag and products are set against a green background, suggesting the theme of groceries or dietary choices.

This is the kind of thing that shouldn’t need an article.

Although I’ll admit that Pepperidge Farm bread loaf surprised me.

Maybe this is news to you, if so, hear this:

Recent studies have linked diets high in ultra-processed foods to increased risks of obesity, Type 2 diabetes, cancer, cardiovascular disease and depression.

It isn’t a little evidence, it’s reams of evidence that eating this way is terrible for you in a way that makes you die earlier.

Eating better isn’t complicated: the closer a food is to the way it was grown, swam or walked the better it is. Maybe not a perfect rule, but you will eat better following it.


Less Active

Apple Health can see that my running volume is down from last year 👀

a screenshot from a health or fitness app, with a focus on "Active Energy" metrics. It displays a comparison of average calories burned per day between two years. The top portion of the image, with a flame icon, reads "On average, you're burning fewer calories this year compared to last year." Below this text are two sets of numbers: "362 cal/day" highlighted in a red rectangle with the year "2023" below it, and "757 cal/day" with the year "2022" underneath. The numbers indicate that the user burned an average of 757 calories per day in 2022, which has decreased to 362 calories per day in 2023.

Zero Chance

This sort of non-sense is beneath Rich Lowry. But here we are. This isn’t a shot at Haley: Trump simply has no real Republican rival.

Abortions Up, Not Down


Legal abortions. Half the US outlaws abortions and the total number goes up.

I have so many thoughts but not nearly enough time to write them up now. The most concise summary is: (1) the Evangelical movement conflated itself with conservatism, (2) abortion became a wedge issue, not a moral issue, for Republicans, (3) it was pursued in an politically strategic way but never a bona fide pro life strategic way, (4) policies that drive abortions down were ignored or fought against if they didn’t support conservative politics, (5) this isn’t a surprising outcome. Sad, not surprising.

No recession?

A Recession Is No Longer the Consensus
Economists are turning optimistic on the U.S. economy. They think the Fed is done raising interest rates and inflation will continue to ease.

What was not and still is not adequately considered is how different these last few years have been from an economic perspective. We essentially turned the economy off and turned it back on again, and pumped in trillions of dollars to consumers we never have before.

Comparisons to previous downturns, or upturns, or anything, have very limited value.

Best Headline You’ll See Today

Politico. Re Menendez.

“It appears to be the first time a sitting member of Congress has ever been criminally charged with working as an agent of a foreign power.”

And yes, it’s illegal.

No Go

It already was a no-go zone for lots of people. I’ve got an article to write on this, but tldr, China doesn’t need Western capital any more and will do what it wants.