– Why is Apple Mail loading remote content in Spam Messages?

For a while now, likely including and pre-Big Sur, whenever I actually go through my Spam box message-by-message, when I click on one message is initially loads with the spam bar, the off yellow bar that includes “Load Remote Content” and “Move to Inbox”, but then the message pane “refreshes” and loads like normal.

I am then reminded of this bug and annoyed, because I inevitably leaked information due to remote content loading.

I have 3 IMAP accounts, two Gmail based and then one third party IMAP that gets no meaningful traffic. If any spam is going to it I’d be surprised, but the significant majority of them are no doubt those coming to the Spam addresses I’ve had and used for over a decade now. (Insert old man yelling at cloud here.)

Why does this refresh happen? Unless I explicitly remember to click outside of a message and then ⌘a to delete them, or right click them first and use that menu to delete them, is the only way I can manage spam messages, and this means messages I’m on the fence about, but ultimately have to delete, still leak information due to the afore-described behavior.

warning messages – Too small to represent and Chop in inaccessible algorithm


I want to apply a specified Chop function to every step in an function call in Mathematica (in my case LegendreP), especially when encountering a machine underflow error. The resulting function should be applicable to a dataframe.

The Setup

I am trying to calculate a function including an associated Legendre function with complex indices

function(t_) = 1/Sin(t) * LegendreP(-1/2 + V * I, l+1, Cos(t))

where t is between 0 and Pi, V is of order of magnitude 10 and l is between 10 and 100. Beside the function I need its logarithmic derivative function'/function.

Ideally I want to do this by applying the function to a dataframe and appending the result in a separate column.

Append(#, "function" -> function(#timeframe))

where timeframe is a column with all the t values.

The Problem

When I run this code for any l bigger than 12 and very small t~1e-5 values, the LegendreP Algorithm throws a machine underflow error General::munfl because it cannot execute a multiplication of extremly small complex numbers.

While for a single call or a plot, it seems to do some chopping or return Indeterminate, when I write it to a dataframe with

Append(#, "function" -> function(#timeframe))

it just returns Failure and does not write anything to the dataframe.

What I have tried so far

I have tried to use Chop and Threshold, but this does not seem to apply to the single steps of the algorithm but only the final result.

The way I “solve” the problem at the moment is to catch the error and return 0 instead of my function. This is not ideal since the real or imaginary part of the step in question and the result might not be negligible while the other one is, or it might diverge instead of converge to 0.

Since the multiplication that raises the error lists numbers ~1e-300 or so, I doubt that the problem is solvable by increasing the precision.

My Goal

Ideally I’d like to call Chop, whenever Mathematica encounters a machine underflow. The behavior of Chop on complex numbers is exactly what I need. This way I should be able to preserve the real or imaginary part that does not vanish.

Is the error handling different, when applied to a dataframe as it relates to this question (for plots or even single evaluation points I don’t have the same issue) or can an indeterminate/NaN be written to a dataframe?

Is there a way to set a “global chop rule”?

Grateful for any hint 😀



Why Google is sending SMS messages to me?

I have just received a SMS message… from Google (?):

enter image description here

What is this? Does this mean that some “bad guy” has my phone number and is playing some nice tricks with me, pretending that he is a Google? Or is this truly a Google-originating message?

Why there is a garbage in the message content? Could this be some Asian or otherwise ideographic language’s characters which encoding got lost during transmission through my cellular network?

multitenancy – Design question for handling large volumes of messages in multi-tenant queue

I have a system with two applications interacting via a message queue. Let’s call them Producer and Consumer. Some key context is that this a multi-tenancy scenario.

Producer produces events based on various inputs (user interactions, api, etc…) and Consumer does down stream processing on these. One of our key constraints is that Consumer can only process events one-at-a-time-per-tenant.

Our current solution (a bit naive) is that multiple worker threads are pulling from the queue and processing events, and if a tenant has another event in progress later worker thread(s) just waits. This has been fine for a couple years given our thread pools and typical event production patterns, but we had a scenario where thousands of events for a single tenant were generated in Producer, and all of Consumer’s worker threads except one were stuck waiting. Consumer was therefore processing events from the queue one at a time, and our “eventual consistency” lag time became suboptimal.

We’ve got some candidate ideas for managing this:

  1. Load balancing across queues – new messages go to the most empty queue, but tenants are locked to a single queue (how we achieve this exactly TBD)
  2. Create a “slow lane” queue – if during processing of an event, the tenant is already in use, move the events to the “slow lane”. This will drain the primary queue quickly but has implications for event processing idempotency I’m not sure will be valid for our scenario.

Before we start digging on these options and looking for others, I’m curious if anyone here has experience with patterns for dealing with this type of situation.

Appreciate any info/advice/guidance. Thanks!!

warning messages – Using the solve function to extract solutions to an equation in natural numbers

I have the following code:

n /. Solve({c == 1/2 (-2 + 3 n^2) (-1 + 3 n^2) (1 - 3 n + 3 n^3), 
    n (Element) PositiveIntegers}, n)((1))

This procudes the number $n$ such that the equation is solved in the natural numbers because $cinmathbb{N}$. However when there is no solution found the code gives an error message:

Part::partw: Part 1 of {} does not exist.
ReplaceAll::reps: {{}((1))} is neither a list of replacement rules nor a valid dispatch table, and so cannot be used for replacing.

How can I write code that gives $n$ when it exists and it gives $0$ if no solution exists? So for example when $c=1045$ we see that $n=2inmathbb{N}$ so the code must give 2 as the output but when $c=1046$ there is no $ninmathbb{N}$ that solves the equation so the code must give 0.

I have a custom domain for email. Do I need to configure DNS to prevent outgoing text messages with an address from my domain?

I own a custom domain that I use for e-mail. The mail server is configured with a catch-all that redirects messages to any user to my inbox. For the first time this afternoon, I received a benign “auto-reply” to a message (“I’m driving and will get back to you later”) that was “sent by” and sent to some phone number (which seems to be Verizon).

My domain is configured with SPF, which previously seemed effective at preventing spammers from spoofing the use of my domain (based on no longer receiving bounced messages). However, it seems pretty clear that someone managed to send a text message that looked like it came from my domain. Do I need to configure anything else to prevent this? Is this Verizon’s fault for not checking? Or should I conclude that someone was able to send spam from my email provider?

samsung – Messages for web not updating with new texts and statuses

I am trying to use Android Messages for web. I am able to connect to the phone using the QR code, but after the initial connection, I do not get new messages automatically or any notification – I have to reload the page to see them.

When I send the message, the “Sending…” status remains and is not updated to “Distributed” either.

I have tried in Firefox and Chromium. I am using Ubuntu. The computer and phone are on the same network, and I tried with the computer using a cable or WiFi. The phone is a Samsung Galaxy S9 and the app is allowed to run in background (no battery optimisation).

I have had the problem for quite some time now, I couldn’t say if it used to work in the past.