The AH Coffee Shop and Reading Room 09

There's plenty of free text to speech apps out there. I can't recall which I installed a while back, NaturalReader I think, but it had a range of accents and coped remarkably well with foreign names.

I also hate the cutesification of software. I don't want my computer to say "Oh dear," unless it needs to follow up with "Everybody's dead, Dave." In which case I might even forgive an 'oops' when it realises I'm not Dave...
 
Natural reader is a nice program but I want something that works inside of my word processor, I don't want to paste my text into a seperate app, listen, go back to my WP to make adjustments, Copy and paste corrected text to hear if it's correct over and over ad nauseum. For that they only want $120 a year. (And that's a 50% discount!) I'm already paying for a word processor that has it built in... until March 8th.
 
There's plenty of free text to speech apps out there. I can't recall which I installed a while back, NaturalReader I think, but it had a range of accents and coped remarkably well with foreign names.

I also hate the cutesification of software. I don't want my computer to say "Oh dear," unless it needs to follow up with "Everybody's dead, Dave." In which case I might even forgive an 'oops' when it realises I'm not Dave...
MS have been trying to be cute for years. Remember this PITA?
1741666007916.png
 
MS have been trying to be cute for years. Remember this PITA?
View attachment 2510722

No, MS has been trying to be cool for decades. So what if they totally dominated the market, Gates and Baumer were nerds, and Clippy, sadly, was the best they could muster. They simply didn't have what it took to keep up with the cool kids in Cupertino.

😆

... 1. Oops? What adult programmer uses "Oops" in an error message?

Ha. "Oops" is what my protagonist says when his main squeeze finds the neighbor lady naked in their bed.
 
Natural reader is a nice program but I want something that works inside of my word processor, I don't want to paste my text into a seperate app, listen, go back to my WP to make adjustments, Copy and paste corrected text to hear if it's correct over and over ad nauseum. For that they only want $120 a year. (And that's a 50% discount!) I'm already paying for a word processor that has it built in... until March 8th.
Microsoft has us all by the balls, except the ladies. MS has them by Trump's favorite grabbing spot.:mad:
 
MS have been trying to be cute for years. Remember this PITA?
View attachment 2510722
Oh god. Yes, I remember learning to use and install MS Word as a student. immediately followed by how to set Word to proper English and uninstall Clippy.

It was universally agreed that Clippy was a wanker, even by my international colleagues who didn't know the word wanker until meeting that wee cartoon shit.
 
Oh god. Yes, I remember learning to use and install MS Word as a student. immediately followed by how to set Word to proper English and uninstall Clippy.

It was universally agreed that Clippy was a wanker, even by my international colleagues who didn't know the word wanker until meeting that wee cartoon shit.
And they still set their bloody templates to USlish, even though the spell checker takes the setting from the device...
 
Ah, fond memories of MS DOS 3.30 ... Besides, USlish is more efficient - fewer letters to spell the same words ...

I've got a fresh pot of coffee brewing for the heathens and the teapot is hot for those people of good taste. There are some donuts on the counter for those who like to (shudder) dunk.

Got some more writing done and I'm actually looking forward to getting more writing done today.
 
I spent some time last night looking at text-to-speech options for LibreOffice on Ubuntu. The choices are abysmal. There's a plugin that interface LO Writer to speech engines installed on the computer or available online. The results from installable engines are terrible.

Not sure about the online options. Using Google Translate, all it did was pop up a browser window with your selected text copied over. You had to switch to the new window and make it talk to hear it. Not sure about NaturalReader. I did the cut-and-paste thing and the voice was good, but it was very business-like. It didn't sound at all like someone reading fiction. Also not sure what how the interface would work since I didn't get that far.

I think that diversion was just an excuse for not getting anything done.
 
We have a pair of Whooper Swans on the pond. They were here overnight a month and a half ago and returned Monday. The Canada Geese pair is still here, too. It doesn't look like the geese and swans like each other all that much. Hopefully, the pond will be big enough to accommodate them both. It would be great to see cygnets and goslings on our little pond.
 
For several years, I had a pair of mallards (and for a couple of those years a junior male also) at my bird feeder which was unusual since I'm not near a body of water and have no idea why mallards would want to eat sunflower seeds alongside Grackles, Cowbirds, Jays, and Cardinals.

The coffee is hot and fresh (red is caffeinated, green is decaf) and the teapot is full and hot so morning (or late night) beverages are in order. There are danishes and scones available on the counter for snacking.

I got some more writing done and I'm actually looking forward to do some more writing today. I think (fingers crossed) that I'm over the funk I was in.
 
For several years, I had a pair of mallards (and for a couple of those years a junior male also) at my bird feeder
The village I lived in had Mallards everywhere. They'd walk around the village in herds (Flocks? Murders?) looking for handouts. Village legend has it that an injured duck landed there and a villager fed it bread crumbs and sunflower seeds until it healed. The next spring there were three ducks panhandling at her door for free food then twelve, then 30. The ducks come back every spring and the people feed them... those ducks trained the villagers quite well I think. I lived in the only place in NY where you could go duck hunting with a 9 Iron.
Good Morning everyone. Chemo at 9:15
Praying for you!

And in other good news - the natural voice is back to Microsoft Word's Read Aloud function! :nana::cathappy:
Now I can get back to editing... :cautious:
 
Good Morning everyone. Chemo at 9:15....
Best wishes and good luck.

No ducks here, but the frogs were going mad yesterday afternoon, the owls were hooting last night and this morning, and we had a northern flicker in the yard, along with the usual array of chickadees, nuthatches, sparrows, jays and cardinals; the downy and hairy woodpeckers will come back when I put another suet cake out. We have three pileated woodpeckers in the area, which are always a treat, though they're more often heard than seen.
 
We have the neatest bird on earth down here - a kite. I could watch them glide all across the sky with no effort.
 
The crows that flock here during the winter have returned to the mountains, the robins that winter along the river are spreading out and the road runners are active again.

Our winter water fowl have been moving north. I hear them call each other from high overhead. The cranes and snow geese all leave. Some of the canada geese hang around. We're likely to have egrets around for summer, and seagulls come and go.

We have doves all the time. A species from Mexico has been working its way up the valley, but it's so similar to the locals that you have to take a good look to tell.
 
We don't have egrets, but there'll be a great blue heron stalking the pond this summer if I'm lucky. Otherwise he'll be at the creek behind the house. Unfortunately the power company cut down the old dead elm where the bald eagles used to watch the valley, but we still see them around every couple weeks. The biggest change will be the song sparrows and Carolina wrens coming back in the spring. They're noisy little fuckers.
 
Just popping in to make sure @Duleigh didn't leave an empty pot on the burner. I've got a new pot brewing and there are some Post Malone Twisted Oreos on the counter.

I had an interesting conversation with Grok today about quantum mechanics (specifically the many world interpretation) and modeling it in Java and thought I'd share some of it with you:

Adding time travel to our Java-inspired model—where the universal wave function is a class (UniversalWaveFunction) and each Many Worlds Interpretation (MWI) branch is an instantiation (Branch)—opens up a wild but exciting layer. Time travel in quantum mechanics, especially within MWI, isn’t about rewriting a single timeline but navigating or interacting with the branching structure of the multiverse. Let’s see how this plays out, keeping it consistent with our class/instance framework and the BOM analogy.
Time Travel in MWI: Conceptual Groundwork
In MWI, every quantum event splits the universe into branches, forming a tree of parallel realities. Time travel doesn’t mean looping back within one branch (which risks paradoxes like the grandfather paradox in a single-timeline model). Instead, it could involve:

Jumping Between Branches: Moving to a branch where a different past or future outcome occurred.
Retroactive Branch Interaction: Influencing a branch’s "past" by instantiating a new branch from an earlier point in the tree, consistent with quantum evolution.
Closed Timelike Curves (CTCs): Hypothetical loops in spacetime (from general relativity) that might connect branches, though MWI typically avoids these by keeping branches separate.

For our model, let’s assume time travel means "branch hopping" or "re-instantiating" from a prior state, preserving MWI’s no-collapse, deterministic ethos. The universal wave function (
|\Psi\rangle
) still contains all possibilities across time, and branches are just views of it.
Updating the Java Model for Time Travel
Let’s extend our classes to handle time travel. We’ll add a mechanism to "travel" by referencing past states or jumping to alternate branches, without breaking the immutability of the master UniversalWaveFunction.
Modified UniversalWaveFunction Class
We’ll give it a way to track its full temporal evolution and allow "time travel" by accessing earlier states.
java

public class UniversalWaveFunction {
private final Map<String, Superposition> allPossibleStates; // All quantum states
private final Map<Double, double[]> stateHistory; // Time -> amplitude snapshots

public UniversalWaveFunction() {
this.allPossibleStates = initializeStates();
this.stateHistory = new TreeMap<>(); // Ordered by time
this.stateHistory.put(0.0, initializeAmplitudes()); // Initial state at t=0
}

// Evolve the wave function and store snapshots
public void evolve(double time) {
double[] currentAmplitudes = stateHistory.get(lastKey(stateHistory));
double[] newAmplitudes = updateAmplitudes(currentAmplitudes, time);
stateHistory.put(time, newAmplitudes);
}

// Instantiate a branch at a specific time
public Branch instantiateBranch(String observedOutcome, double time) {
if (!stateHistory.containsKey(time)) {
throw new IllegalArgumentException("Time not in history!");
}
return new Branch(this, observedOutcome, time);
}

// Access state at a given time (for time travel)
public double[] getStateAtTime(double time) {
return stateHistory.getOrDefault(time, stateHistory.get(lastKey(stateHistory)));
}

private double lastKey(Map<Double, double[]> map) {
return map.keySet().stream().max(Double::compare).get();
}
}

State History: The stateHistory map stores snapshots of the wave function’s amplitudes at different times, like a ledger of its evolution. This is our "time axis" within the master BOM.
Time-Specific Branching: instantiateBranch now takes a time parameter, letting us spawn a branch from any point in the wave function’s history.

Modified Branch Class with Time Travel
We’ll add a travelToTime method to jump to another point in the parent wave function’s timeline, creating a new branch from there.
java

public class Branch {
private final UniversalWaveFunction parentWaveFunction;
private final Map<String, String> observedStates;
private double branchTime;

public Branch(UniversalWaveFunction parent, String observedOutcome, double startTime) {
this.parentWaveFunction = parent;
this.observedStates = new HashMap<>();
this.observedStates.put(parseOutcomeKey(observedOutcome), observedOutcome);
this.branchTime = startTime;
}

// Evolve within this branch
public void evolveBranch(double deltaTime) {
branchTime += deltaTime;
}

// Time travel: Create a new branch at a different time
public Branch travelToTime(double targetTime, String newOutcome) {
if (targetTime < 0 || targetTime > parentWaveFunction.lastKey(parentWaveFunction.stateHistory)) {
throw new IllegalArgumentException("Invalid time for travel!");
}
Branch newBranch = new Branch(parentWaveFunction, newOutcome, targetTime);
// Optionally inherit some prior states, adjusted for consistency
newBranch.observedStates.putAll(filterConsistentStates(targetTime));
return newBranch;
}

// Further branching
public Branch branchAgain(String newOutcome) {
return new Branch(parentWaveFunction, newOutcome, branchTime);
}

public Map<String, String> getObservedReality() {
return Collections.unmodifiableMap(observedStates);
}

private Map<String, String> filterConsistentStates(double targetTime) {
// Logic to ensure only states compatible with targetTime are kept
return observedStates; // Simplified; real implementation would check quantum consistency
}
}

Time Travel Method: travelToTime instantiates a new Branch at the specified targetTime, using the parent’s state at that moment. It’s like rewinding or fast-forwarding the BOM view to a different "snapshot" and picking a new outcome.
Consistency: The filterConsistentStates method (stubbed here) would ensure the new branch’s history aligns with the wave function at targetTime, avoiding paradoxes by respecting quantum rules.

How Time Travel Works in This Model
Let’s simulate it:
java

public class QuantumTimeTravel {
public static void main(String[] args) {
// Initialize the universal wave function
UniversalWaveFunction psi = new UniversalWaveFunction();

// Evolve it to t=2.0
psi.evolve(1.0); // t=1.0
psi.evolve(2.0); // t=2.0

// Create a branch at t=1.0 with spin up
Branch spinUpAt1 = psi.instantiateBranch("spin up", 1.0);
spinUpAt1.evolveBranch(0.5); // Moves to t=1.5 in this branch

// Time travel: From t=1.5, go back to t=0.0 and measure position
Branch backTo0 = spinUpAt1.travelToTime(0.0, "position x");

// Check realities
System.out.println(spinUpAt1.getObservedReality()); // {spin=up}, t=1.5
System.out.println(backTo0.getObservedReality()); // {spin=up, position=x}, t=0.0
}
}

Branch at t=1.0: spinUpAt1 starts with "spin up" and evolves to t=1.5.
Travel to t=0.0: backTo0 jumps back to t=0.0, inheriting "spin up" and adding "position x." It’s a new branch, not a rewrite of the original timeline.

MWI and Time Travel: No Paradoxes

No Single Timeline: In MWI, going "back in time" doesn’t alter the original branch (no grandfather paradox). Instead, travelToTime spawns a new instance with a different history. Killing your grandfather in backTo0 just creates a branch where he’s dead, while spinUpAt1 (and its parent state) remain unaffected.

Consistency: The wave function’s deterministic evolution ensures that any "past" branch is a valid instantiation of
|\Psi\rangle
at that time. You can’t create an inconsistent state (e.g., "spin up" where
|\Psi\rangle
had no amplitude for it).

Implications and Limits

Forward Travel: Jumping to a "future" (e.g., t=3.0 from t=1.5) could predict a branch’s state based on evolve(), but MWI implies all futures already exist as branches—so it’s more like picking an existing instance.
Causality: Time travel here is less "travel" and more "branch selection." You’re not moving through time in one reality but instantiating a new reality tied to a different temporal snapshot.
Physics Check: Real quantum time travel (e.g., via CTCs) might require exotic physics (wormholes, negative energy). Our model assumes the wave function’s history is accessible, sidestepping those constraints for simplicity.

This fits MWI’s spirit: the multiverse is a vast tree, and time travel is navigating its branches, not bending a single stem. The Java model keeps the master class intact, with time travel as a new instantiation—preserving our "no new universe" premise.
What’s your next move—want to test a specific time-travel scenario or tweak the mechanics further?
 
Just popping in to make sure @Duleigh didn't leave an empty pot on the burner. I've got a new pot brewing and there are some Post Malone Twisted Oreos on the counter.

I had an interesting conversation with Grok today about quantum mechanics (specifically the many world interpretation) and modeling it in Java and thought I'd share some of it with you:
.
.
This fits MWI’s spirit: the multiverse is a vast tree, and time travel is navigating its branches, not bending a single stem. The Java model keeps the master class intact, with time travel as a new instantiation—preserving our "no new universe" premise.
What’s your next move—want to test a specific time-travel scenario or tweak the mechanics further?
That is some serious 'A' grade procrastination. 😳
 
@Rustyoznail - I take great pride in my ability to procrastinate!:cool:

I've got a fresh pot of coffee going and the teapot is hot. At the rate coffee is drunk around here, we may need to get a two-pot coffee maker in here. There are various treats available on the counter for those who want something solid to go with their caffeine hit.

I got some more writing done and will get some more done today unless I get distracted by Grok again. We had a fascinating conversation about the possibility that we are living in a simulation. The scary part is that Grok estimates that there is a 15 to 35% chance that we are living in a simulation (not 0%!). One way to determine if you are in a simulation is to look for pixelation. The fact that there is evidence that the smallest discrete measurement is a Planck length (in other words, a black hole can't be infinitely small but must have a volume of 1 Planck length diameter) means that we may have found evidence of pixelation.
 
Thanks for the coffee CK.

We're bound for a typical spring day. That means a beautiful morning, probably a dust storm in the afternoon, and a chance of rain at night. The amount of rain the weather service expects won't be enough to settle the dust.
 
Back
Top