We had a family picnic yesterday for Mother's Day. Kareem had to work that morning. His work was supposed to be late, but a few days ago, they rescheuled him in the morning. He arrived absolutely pissed and everyone saw it. He claimed it was due to work and the rainy weather and that he should not have come even though it was a few miles from his work. So I let him leave after seeing everyone.
When he came home, he was absolutely upset and said he'll never hang out with relatives unless he feels like it. He no longer feels that he should hang out with family just because they are blood. Kareem told me that he got a girlfriend a month or so ago. She's a Chinese student from one of his classes. He seems to have bought her jewelry already. The same thing he's done for his previous girlfriend. He buys them stuff instead of using his salary for food and then asks me to add money to his account.
He told me that he no longer cares what I think about traditional Druze marriage and that he will marry whoever he likes. He told me that Salem was dating his high school friend Deborah, Aiden's ex, and that his parents don't care. It's hard to raise him our way when my own brother doesn't care. When I told him I still do, he was upset because he wants me to put his happiness first. I said I do, but I reminded him that I wish to retire in Lebanon since I can't affors anything here, and that even though he was born to Lebanse Druze parents, he never got to know my parents. So marrying a non-Druze means that there's zero chance that his wife would come to Lebanon or send the kids with him to Lebanon. And if does come, it would be a one-time trip and his kids, who wouldn't speak Arabic or know the culture, would say never again, just like he's doing. So marrying a non-Druze is an automatic
Monday, May 11, 2026
Tuesday, January 06, 2026
Six-Decade Math Puzzle Solved by Korean Mathematician
A Korean mathematician has won international recognition for solving a geometry puzzle, the moving sofa problem, that had resisted proof for nearly six decades.
Click here for more information.
Click here for more information.
Saturday, November 01, 2025
Optimal Golomb Ruler and More
Published several short papers. However, my latest, Bounds for Optimal Golomb Rulers is promising.
Permutation Rotations
The Golden Ratio's Siblings
Permutation Rotations
The Golden Ratio's Siblings
Saturday, April 26, 2025
My Mersenne Primality Testing Algorithm
I'm not sure how fast it is compared to GIMPS, but it is acurate for all Mersenne or Fermat primes. See my article Value-Counting Up to N for why.
import sys
import time
# Remove the limit
sys.set_int_max_str_digits(0)
i = 0
def signal_handler(sig, frame):
global i
if sig == signal.SIGINT:
print("index = %i" % (i))
sys.exit(0)
def int_sqrt(n):
"""
Calculate the integer square root of a non-negative integer n.
This function returns the largest integer whose square is less than or equal to n.
"""
if n < 0:
raise ValueError("Cannot calculate square root of a negative number.")
if n == 0:
return 0
x = n
y = 1
i = 0
while x > y:
x = (x + y) // 2
y = n // x
return x
def prime_power(n):
signal.signal(signal.SIGINT, signal_handler)
total = 0
half_n = (n + 1) // 2
# limit = half_n
# limit = math.ceil((half_n*(half_n + 1) // 2 + 1) / n)
limit = (n + 13)//8
start_time = time.perf_counter()
end_time = start_time
global i
for i in range(2, limit):
# border_value represents the number that ends on the last
# column when all numbers up to it are added and wrapped.
border_value = int((int_sqrt(8 * i * n + 1) - 1)/2)
total = (border_value * (border_value + 1)//2)
elapsed_time = end_time - start_time
if (total == (i * n)):# or (total + (border_value + 1)//2 == (i * n)):
print("%i" % (border_value))
return
end_time = time.perf_counter()
elapsed_time = end_time - start_time
if elapsed_time > WAIT_TIME:
start_time = end_time
end_time = time.perf_counter()
print("\tprime_power")
print("p\tborder\tprime power")
prime_power(2**89-1)
Saturday, April 05, 2025
Busy Beaver Number 5 is Alive!
In theoretical computer science, the objective of the busy beaver is to find a terminating program of a given size that (depending on definition) either produces the most output possible, denoted by BB(n), or runs for the longest number of steps.
The latest value for n = 5 was recently discovered.
The known values are BB(1) = 1, BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47,176,870.
Click here for more information.
The latest value for n = 5 was recently discovered.
The known values are BB(1) = 1, BB(2) = 6, BB(3) = 21, BB(4) = 107, BB(5) = 47,176,870.
Click here for more information.
Monday, March 31, 2025
An Amazing Approximation to e
An amazing pandigital approximation to e that is correct to 18,457,734,525,360,901,453,873,570 decimal places is given by:
`e\approx(1+9^(−4^(6⋅7)))^(3^(2^85))`
It was discovered by Richard Sabey in 2004.
Proof:
`(1+9^(−4^(6⋅7)))^(3^(2^85))=(1+9^(−4^42))^(3^(2^85))`
`=(1+9^(−4^42))^(3^(2*2^84))`
`=(1+9^(−4^42))^(3^(2*2^84))`
`=(1+9^(−4^42))^(9^(2^(84)))`
`=(1+9^(−4^42))^(9^(4^42))`
`=(1+\frac{1}{9^(4^42)})^(9^(4^42))`
`=(1+\frac{1}{n})^n`.
`e\approx(1+9^(−4^(6⋅7)))^(3^(2^85))`
It was discovered by Richard Sabey in 2004.
Proof:
`(1+9^(−4^(6⋅7)))^(3^(2^85))=(1+9^(−4^42))^(3^(2^85))`
`=(1+9^(−4^42))^(3^(2*2^84))`
`=(1+9^(−4^42))^(3^(2*2^84))`
`=(1+9^(−4^42))^(9^(2^(84)))`
`=(1+9^(−4^42))^(9^(4^42))`
`=(1+\frac{1}{9^(4^42)})^(9^(4^42))`
`=(1+\frac{1}{n})^n`.
Monday, March 24, 2025
Permutation Rotations
In this paper, we discuss certain properties of permutation rotations on each other.
Click here to read my paper.
Click here to read my paper.
Subscribe to:
Posts (Atom)