Jennifer Meeks:

Children in government schools get 16,000 hours of indoctrination. Working parents have been uninterested in countering the propaganda. Even in our small town parents have seen their former Christian conservative children change their beliefs because of what they hear in school, from other Christian conservative teachers. Because the curriculum is terrible. They’re not teaching history even in our small town.

We are seeing Christians fold because the state/school spends more time with them than their families. In the 1800s and early 1900s, children started school at age 7. They went less than 9 months a year, and were finished by age 14, or 8th grade. This was all that was needed. They were ready for college, if they chose to go. They were better educated than today’s 18 year old high school grads. They spent more time with family. Below is an 8th grade exam from 1912. Most 12th graders today would fail it. It’s open ended. Tests now are true/false and multiple choice.…/schoolexam1912.html

Studies show home educated students outperform their peers, by a lot. They’re better socialized than their peers. They have more time to socialize with people of different ages, not just a group of 20 children their own age. Colleges seek out homeschool students. Below is a long list of homeschool stats.

How many homeschool children do you know? Homeschooling has changed in the last 20 yrs, even 10 yrs. 11% of American children are Homeschooling now. That number will grow.

I don’t think for a minute we’re safe from the agenda of the left. Why do you think I’m part of this group? You seem to think I’m an idiot. I got an excellent education at a private school, graduated 2nd in my class, and went to college with a scholarship. I’m underwhelmed with our local schools, which are some of the “best” in the state. Children in schools now will be our future leaders, doctors, politicians, teachers, etc. What schools are doing is frightening. I have been sounding alarms for years and been ignored.

It’s about much more than CRT. Schools have been indoctrinating children for more than a century. About time a few more parents have finally realized there’s a problem.

Parents are playing Russian roulette with children. But instead of one bullet in the chamber, there’s 3 or 4. No thanks, we’re good.

Below is an excellent summary of the history of American education.…/

The teachers union NEA was founded by a communist sympathizer, and they purposely recruit them.

Posted in Uncategorized | Comments Off on Homeschooling

Transportation Woes

From FB:

Scores of container ships sitting outside the Port of Los Angeles and the Port of Long Beach. Hundreds of thousands containers aboard.

Yet another progressive initiative has driven truckers off the road …

National Law Review (5/28/2021): “Putting the Brakes on Commercial Truckers as Independent Contractors in California”
“In a blow to California’s commercial trucking industry, the Ninth Circuit recently ruled that California law relating to whether workers can be classified as employees is not preempted by the Federal Aviation Administration Authorization Act of 1994 (the “FAAAA”). As a result, it will remain difficult under California’s current test for transportation companies to establish an independent contractor relationship with its drivers, including owner-operators … “

Read the comments from the trucking industry:

From FB:

Don’t believe the news! They manipulate info more often, and very little of the news is truthful these days.

“The NEWS says the California port situation is caused by a driver shortage.

Not so fast: It is in part caused by a California Truck Ban which says all trucks must be 2011 or newer and a law called AB 5 which prohibits Owner Operators.

Traditionally the ports have been served by Owner Operators (non union). California has now banned Owner Operators.

Long term, truckers in California are not investing in new trucks because California has a law that makes them illegal in 2035. The requirement is to purchase electric trucks which do not exist.

And in the words of Paul Harvey, “Now you know the rest of the story”

CARB to begin blocking certain trucks’ DMV registrations in 2020

Carriers domiciled in California with trucks older than 2011 model, or using engines manufactured before 2010, will need to meet the Board’s new Truck and Bus Regulation beginning in 2020 or their vehicles will be blocked from registration with the state’s DMV, the state has said.

The new “health-based requirements” will need to be met before a driver is allowed to register his or her truck through the Department of Motor Vehicles, CARB says. A new enforcement tool used by the DMV beginning in 2020 will automatically block 2010 and older trucks from registration.”

(See Port of Los Angeles link at top of page)

Posted in Uncategorized | Comments Off on Transportation Woes


Posted in Uncategorized | Comments Off on Chart.js?


Posted in Uncategorized | Comments Off on Plotly.js?


Posted in Uncategorized | Comments Off on Gears?

Test SVG and D3

Test SVG

Test D3

Posted in Uncategorized | Comments Off on Test SVG and D3

P5.js Take Two



Boids (doesn’t work)

< html> Boids // Size of canvas. These get updated to fill the whole browser. let width = 150; let height = 150; const numBoids = 100; const visualRange = 75; var boids = []; function initBoids() { for (var i = 0; i < numBoids; i += 1) { boids[boids.length] = { x: Math.random() * width, y: Math.random() * height, dx: Math.random() * 10 - 5, dy: Math.random() * 10 - 5, history: [], }; } } function distance(boid1, boid2) { return Math.sqrt( (boid1.x - boid2.x) * (boid1.x - boid2.x) + (boid1.y - boid2.y) * (boid1.y - boid2.y), ); } // TODO: This is naive and inefficient. function nClosestBoids(boid, n) { // Make a copy const sorted = boids.slice(); // Sort the copy by distance from `boid` sorted.sort((a, b) => distance(boid, a) – distance(boid, b)); // Return the `n` closest return sorted.slice(1, n + 1); } // Called initially and whenever the window resizes to update the canvas // size and width/height variables. function sizeCanvas() { const canvas = document.getElementById(“boids”); width = window.innerWidth; height = window.innerHeight; canvas.width = width; canvas.height = height; } // Constrain a boid to within the window. If it gets too close to an edge, // nudge it back in and reverse its direction. function keepWithinBounds(boid) { const margin = 200; const turnFactor = 1; if (boid.x < margin) { boid.dx += turnFactor; } if (boid.x > width – margin) { boid.dx -= turnFactor } if (boid.y < margin) { boid.dy += turnFactor; } if (boid.y > height – margin) { boid.dy -= turnFactor; } } // Find the center of mass of the other boids and adjust velocity slightly to // point towards the center of mass. function flyTowardsCenter(boid) { const centeringFactor = 0.005; // adjust velocity by this % let centerX = 0; let centerY = 0; let numNeighbors = 0; for (let otherBoid of boids) { if (distance(boid, otherBoid) < visualRange) { centerX += otherBoid.x; centerY += otherBoid.y; numNeighbors += 1; } } if (numNeighbors) { centerX = centerX / numNeighbors; centerY = centerY / numNeighbors; boid.dx += (centerX - boid.x) * centeringFactor; boid.dy += (centerY - boid.y) * centeringFactor; } } // Move away from other boids that are too close to avoid colliding function avoidOthers(boid) { const minDistance = 20; // The distance to stay away from other boids const avoidFactor = 0.05; // Adjust velocity by this % let moveX = 0; let moveY = 0; for (let otherBoid of boids) { if (otherBoid !== boid) { if (distance(boid, otherBoid) < minDistance) { moveX += boid.x - otherBoid.x; moveY += boid.y - otherBoid.y; } } } boid.dx += moveX * avoidFactor; boid.dy += moveY * avoidFactor; } // Find the average velocity (speed and direction) of the other boids and // adjust velocity slightly to match. function matchVelocity(boid) { const matchingFactor = 0.05; // Adjust by this % of average velocity let avgDX = 0; let avgDY = 0; let numNeighbors = 0; for (let otherBoid of boids) { if (distance(boid, otherBoid) < visualRange) { avgDX += otherBoid.dx; avgDY += otherBoid.dy; numNeighbors += 1; } } if (numNeighbors) { avgDX = avgDX / numNeighbors; avgDY = avgDY / numNeighbors; boid.dx += (avgDX - boid.dx) * matchingFactor; boid.dy += (avgDY - boid.dy) * matchingFactor; } } // Speed will naturally vary in flocking behavior, but real animals can't go // arbitrarily fast. function limitSpeed(boid) { const speedLimit = 15; const speed = Math.sqrt(boid.dx * boid.dx + boid.dy * boid.dy); if (speed > speedLimit) { boid.dx = (boid.dx / speed) * speedLimit; boid.dy = (boid.dy / speed) * speedLimit; } } const DRAW_TRAIL = false; function drawBoid(ctx, boid) { const angle = Math.atan2(boid.dy, boid.dx); ctx.translate(boid.x, boid.y); ctx.rotate(angle); ctx.translate(-boid.x, -boid.y); ctx.fillStyle = “#558cf4”; ctx.beginPath(); ctx.moveTo(boid.x, boid.y); ctx.lineTo(boid.x – 15, boid.y + 5); ctx.lineTo(boid.x – 15, boid.y – 5); ctx.lineTo(boid.x, boid.y); ctx.fill(); ctx.setTransform(1, 0, 0, 1, 0, 0); if (DRAW_TRAIL) { ctx.strokeStyle = “#558cf466”; ctx.beginPath(); ctx.moveTo(boid.history[0][0], boid.history[0][1]); for (const point of boid.history) { ctx.lineTo(point[0], point[1]); } ctx.stroke(); } } // Main animation loop function animationLoop() { // Update each boid for (let boid of boids) { // Update the velocities according to each rule flyTowardsCenter(boid); avoidOthers(boid); matchVelocity(boid); limitSpeed(boid); keepWithinBounds(boid); // Update the position based on the current velocity boid.x += boid.dx; boid.y += boid.dy; boid.history.push([boid.x, boid.y]) boid.history = boid.history.slice(-50); } // Clear the canvas and redraw all the boids in their current positions const ctx = document.getElementById(“boids”).getContext(“2d”); ctx.clearRect(0, 0, width, height); for (let boid of boids) { drawBoid(ctx, boid); } // Schedule the next frame window.requestAnimationFrame(animationLoop); } window.onload = () => { // Make sure the canvas always fills the whole window window.addEventListener(“resize”, sizeCanvas, false); sizeCanvas(); // Randomly distribute the boids to start initBoids(); // Schedule the main animation loop window.requestAnimationFrame(animationLoop); };
Posted in Uncategorized | Comments Off on P5.js Take Two


Posted in Uncategorized | Comments Off on P5.js

Some Interesting Links

JEDI: Justice, Equity, Diversity, Inclusion. Was Star Wars the genesis of woke ideology?

If the CDC says it, is it fact? If the NIH posts it, is it true? If it’s published in a peer-reviewed journal is it trustworthy? That’s “science,” right?

Submitted for your reading agony: I’ll post the link to the NIH abstract, but it’s up to you (my “truth warriors” — ha!) to click the link to the full text version. The struggle is real, but be sure to make your way to the part where they tell you that wearing a mask can kill you.


YES, not in such succinct words but, yes, this article actually cites scientific research that indicates that masks can kill you. And it’s posted on the NIH website, and it’s peer reviewed and published. Don’t believe me? Read it yourself.

Got kids?

“In addition to the question of certification procedures for such fabric masks, it should also be mentioned that due to the extensive mask obligation, textile (artificial) substances in the form of micro- and nanoparticles, some of which cannot be degraded in the body, are chronically absorbed into the body through inhalation to an unusual extent. In the case of medical masks, disposable polymers such as polypropylene, polyurethane, polyacrylonitrile, polystyrene, polycarbonate, polyethylene and polyester should be mentioned [140]. ENT physicians have already been able to detect such particles in the nasal mucosa of mask wearers with mucosal reactions in the sense of a foreign body reaction with rhinitis [96]. In the case of community masks, other substances from the textile industry are likely to be added to those mentioned above. The body will try to absorb these substances through macrophages and scavenger cells in the respiratory tract and alveoli as part of a foreign body reaction, whereby toxin release and corresponding local and generalized reactions may occur in an unsuccessful attempt to break them down [172]. Extensive respiratory protection in permanent long-term use (24/7), at least from a theoretical point of view, also potentially carries the risk of leading to a mask-related pulmonary [47] or even generalized disorder, as is already known from textile workers chronically exposed to organic dusts in the Third World (byssinosis) [172].

“For the general public, from a scientific angle, it is necessary to draw on the long-standing knowledge of respiratory protection in occupational medicine in order to protect children in particular from harm caused by uncertified masks and improper use.”

Figure 4: Unfavorable mask effects as components of Mask-Induced Exhaustion Syndrome (MIES). The chemical, physical and biological effects, as well as the organ system consequences mentioned, are all documented with statistically significant results in the scientific literature found (Figure 2). The term drowsiness is used here to summarize any qualitative neurological deficits described in the examined scientific literature.

See below:,q_auto:good,fl_progressive:steep/

Posted in My Blog | Comments Off on Some Interesting Links

A Little Microsoft Mathematics Project

The function
z = sin(x + y) + sin(y)

Posted in Uncategorized | Comments Off on A Little Microsoft Mathematics Project