Saturday, October 12, 2024

Pair Program with 3Blue1Brown

For years, I've followed the fantastic videos created by Grant Sanderson of 3Blue1Brown. His videos cover math related topics such as linear algebra, quantum computing, neural networks, and physics. 

I just watch his latest video where he pair programs with Ben Sparks while explaining to Sparks how he developed a custom Python library for his video renderings.

What struck me about this video is it reminds of how gammers record and replay massively multiplayer games for others to watch.

Sanderson and Sparks essentially do the same thing, as Sanderson walks through his code and even uses ChatGPT to write some of it, saving him time. Enjoy.


Wednesday, October 2, 2024

Mind Blowing AI Podcast Creation

This podcast was created for free, entirely by an AI based on approximately 1,200 words of text: http://joemoreno.com/patriotism.mp3

Everyone I’ve shared this with has been absolutely amazed.

Those two voices, in this podcast, are completely AI generated. The source of the text the AI used was this blog post from earlier today.

Try It Yourself

Here's how I did it (you'll need a Google/Gmail account).

1. I visited Google's NotebookLM AI at: https://notebooklm.google.com

2. I clicked the Create button.

3. I then uploaded the text of my document.

4. Under the "Audio Overview" I clicked on the Generate button to create the "Deep dive conversation" with two hosts. It took a few minutes to complete and then I downloaded the WAV sound file. I added one additional, unnecessary, step of converting it to an MP3 using the Apple Music app on my Mac (formerly known as the iTunes app).

Ta-da. That's all there is to it.
Since this is generative AI, every time you use the same content to generate a new podcast, you'll get a different result.

Use Cases

I'm thinking of other uses for this such as turning a long article into a podcast to listen to during a commute or perhaps some work related reading that you can listen to as a podcast while commuting. 

Patriotism: Leadership & Politics

What is a patriot?

A patriot is a citizen who demonstrates love and respect for America by upholding the rule of law. It is fundamentally un-American to violate these principles and values as established by the Constitution (not religion).


You cannot be a patriot unless you respect the Constitution while following the law. Supporting someone who doesn’t follow these principles would be unpatriotic. Our Constitution is what makes America, America.


You can love America yet still not respect America by being a selfish scofflaw. Knowingly parking your car in a handicap spot and paying the fine shows a lack of respect for the law compared to simply parking legally. It’s not ok to commit break the law, even if you’re willing to pay the price.


A man can love his wife yet still not respect her.

A man can be a seemingly great parent, citizen, worker, etc. But if he constantly cheats on his wife, then there is neither respect nor commitment to the marriage. Infidelity violates the fundamental principles of marriage.


Let’s break down the difference between principles and values.


The Supreme Law Of The Land

The Constitution embodies America’s principles. It is the supreme law of the land.


Laws implement the Constitution’s principles as America’s values.


Think of principles as the lay of the land. They are virtually unmovable.


Think of values as implementing principles. Laws codify principles as values.


If you think of features on the surface of the Earth as principles, then a map represents values. There are different kinds of maps.


Some maps highlight roads and highways for automobile drivers; certain maps focus on terrain, with contour lines for hikers or mountain climbers; some show water depth and hazards for sailors and divers; while other maps point out towers, radio beacons, and buildings for pilots.


All of these maps depict the same geographic area (principles) but they highlight different features (values).


Having a map for the wrong area is not helpful no matter how much you want it to work in your favor. A map of New York City does you no good in Los Angeles. The values a drill instructor instills in recruits during boot camp differ from those a parent imparts to a toddler, yet both align with the principles of the Constitution.


If a law conflicts with the Constitution, then the law either needs to be struck down or else the Constitution needs to be amended. Maintaining a law that conflicts with the Constitution is toxic and dysfunctional.


Oliver North: A Personal Journey in Ethics

Shortly after I enlisted in the Marines, news of the Iran–Contra Affair broke in the fall of 1986. The following year, Congress held hearings to get to the bottom of the matter. It was concluded that Lieutenant Colonel Oliver North – a highly decorated Marine officer who attended the Naval Academy – illegally sold arms to Iran and funneled that money to support the Contras. The Contras were Nicaraguan rebels fighting against the Sandinistas who were the political group in control of Nicaragua. The Sandinistas had policies aligned with the Soviet Union and were considered a Cold War threat to the United States. Contras good. Sandinistas bad.


During the Iran-Contra Hearings in Congress, LtCol Oliver North, as the key witness, was hailed as a celebrity for standing up to Congress, looking them in the eye, and taking full responsibility for the affair.


This seemingly brave and bold sense of patriotism and accountability would have a big impact on me, personally, when I attended the Naval Academy a few years later.


In the 1980s, I, too, hailed Oliver North as a hero, until I learned the fundamental flaws in his unethical and illegal practices.


This doesn’t mean that North didn’t accomplish truly patriotic acts that contributed to the nation’s well-being before or after the Iran-Contra Affair. But it does mean that his actions that led to this affair were misguided – a vigilante patriotism devoid of checks and balances.


During the hearings, Oliver North was asked if he received any ethics training while at the Naval Academy. After answering in the negative, a mandatory semester course was required for all Naval Academy Midshipmen (students). This ethics course was the most impactful class I took at the Academy. Second only to the Naval Academy’s course, Law for the Junior Officer.


Taking this ethics course gave me a clear understanding of North’s legal and ethical violations. Not only did he break the law, but he also lied to Congress about it. It is important to keep in mind that North’s power and authority, as a military officer, was bestowed upon him by Congress – the very institution he intentionally deceived.


This is the equivalent of a child being given permission by their parents to go outside to play until a curfew time. But, while out and about, the child commits vandalism and returns home late. Then, when questioned by their parents, they lie about coming home after curfew while also denying the vandalism.


The People empower the government and the government empowers certain people with authority to act on behalf of the government. In my Naval Academy ethics course, I learned how to follow a clear line of power, authority, and justice. This line originates with the Constitution and flows through the three branches of government by way of laws, codes, policies, regulations, and ethics, ultimately defining the actions allowed or restricted for both citizens and the government.


At the Naval Academy, many things we learned could be effectively summarized in soundbites.

What’s the most important leadership trait? Set the example.

When asked in an engineering class at the Academy, "Why is something a certain way?"—like, "Why are there two turbines instead of one in a ship’s steam cycle?"—the answer was simple: Because it’s more efficient.


Unethical behavior can also be succinctly summarized as a sound bite: Committing or soliciting an illegal act or the intention to deceive or not let the whole truth be known (with a few, clearly defined exceptions).


Leadership and The People

In leadership, I learned that followers look to a leader to provide stability and make them feel as safe as possible, while setting an ethical example. This applies to all levels of leadership, regardless if it’s a parent showing up on time to safely drive their kid home from school, or a military officer leading troops into combat, or a political leader announcing new policies.


We look to our leaders for safety, but before someone can lead, they must first learn to follow. A great leader cannot be a poor follower.


Politicians are leaders. In politics, we can question a political leader’s policies. However, we should never question a political leader’s patriotism. They must respect the Constitution and the rule of law above all else.


Additionally, any organization that allows a leader, no matter how talented, to operate under rules that apply only to others will create a toxic environment where someone is considered “above the law.” Formally documenting any unwritten rules will go a long way to creating a healthier environment.


Finally, being a patriot doesn’t mean blindly agreeing with every government action; it can also involve critiquing the government or advocating for change when one believes the country is not living up to its ideals. But this advocacy for change still needs to follow the Constitution and law.

Tuesday, September 17, 2024

Anatomy of a Sabotage: Planting Explosives in Hezbollah’s Pagers

I’m fascinated by how Hezbollah’s pagers were compromised. This is the most technically creative and innovative attack I can think of since Stuxnet in 2010. A trojan horse of cyberwarfare. 


It seems that explosives were planted in the pagers and two-way radios – it wasn’t merely an exploding battery. This means that the attacker had to gain physical access to the pagers in order to plant both the explosives and the electronic circuitry that triggered it.


Once that was accomplished, the attacker needed access to the pager network in order to send a message to all of the pagers at once, followed, seconds later, by the detonation signal.

It’s astonishing that none of these explosives appear to have been detected by any measures, including airport screening equipment. Obviously, TSA will be looking at this vector.


How Would I Do It?

Rather than intercept the pagers along the supply chain, I would look for an easier way. Specifically, I’d find a consumer electronics manufacturer who’d be willing to license to me both their brand and rights to manufacture the pagers. From there, it would be much simpler to mass manufacture and distribute the exploding pagers.

Friday, September 13, 2024

The Miracle Year for Personal Computers

L to R: TRS-80 Model 1, Commodore PET, Apple ][

These were the first three personal computers that were sold, fully assembled. 

Wednesday, August 28, 2024

Hallucinations: How Many ‘R’s Are in the Word Strawberry?

Ask your favorite AI chatbot, "How many ‘R’s are in the word strawberry?"

Most will respond with, "The word 'strawberry' contains two ‘R’s." Obviously, that's wrong – the correct answer is three.

This is the difference between knowing and understanding. 

AI models tokenize words. Tokenization is the process of breaking down a stream of text, such as sentences, into individual words and then assigning values to each word in multiple dimensions. An AI model doesn't break down a word into letters, so current models don't use introspection to know what letters make up a word. While an AI model could break down words into letters, the juice is not worth the squeeze when it comes to memory and storage requirements. 

In the world of AI, this seemingly confidence, yet random guess, is called a hallucination.

Tuesday, July 30, 2024

You Don’t Accelerate When Free Falling

Speed is relative.
Acceleration is absolute.

If two objects in space are moving closer to, or further away from, each other at a constant speed, there’s no way to know which once is moving because speed is relative.

But, if two objects in space are moving closer to, or further away from, each other at a variable speed, we can figure out which one (or both) are changing speed because acceleration is absolute. This is how accelerometers work… they measure the absolute change in acceleration. 

Keep in mind that acceleration isn’t just a change in speed, acceleration can also be a change in direction. An object can move at the same speed, but still experience acceleration if it changes direction. 

We say that an object dropped from a building accelerates at 9.8 m/s², but that’s actually not the case. If we drop an accelerometer from a building, it will register 0g’s of acceleration on its way down and this is completely accurate. What’s really happening is that, since spacetime is warped, the ground is moving toward the dropped object at an accelerated rate. 

To picture this, think of a satellite in orbit, such as the ISS. It, too, seems to be accelerating at 9.8 m/s² as it falls toward earth, but its speed doesn’t change. Instead, it’s literally following an unaccelerated straight line through spacetime. Whether falling from a building or orbiting earth, both are 0g, weightless conditions and, therefore, there’s no acceleration.

Another way to think of this is imagine traveling in the passenger seat of a car that’s moving at a constant speed of 25 mph. You can easily throw a tennis ball up and catch it without any problems. This is because there’s no change in forward or lateral speed; hence, no acceleration. Now, continue to do this while the car is making a turn at a constant speed of 25 mph through an intersection. The ball will appear to move to the side window during the turn; and the further the ball is from the side of the car, the faster it will move relative to the window. This will give the ball the appearance that it’s accelerating but it's actually the car that's accelerating around the ball.

The next big question to answer is how and why does matter curve spacetime?
 

Tuesday, July 16, 2024

Gravity is not a Force

Gravity is not a force because it’s not mediated by a force carrier. Rather, it’s one of the four fundamental interactions in the universe:

1. Electromagnetic force
2. Strong nuclear force
3. Weak nuclear force
4. Gravity

The first three interactions are forces meditated by quantum particles. Specifically, photons, gluons, and, W & Z bosons, respectively. These force carriers mediate each force, but only photons and gluons are energy. In other words only photons and gluons are particles without mass and they move at the speed of light whereas the W & Z bosons have mass, so they will travel slower than the speed of light. 

Of the two force carriers that are energy, photons have an infinite range while gluons have a range comparable to the diameter of a proton.

Gravitons

How do we know there isn’t some undiscovered quantized particle of gravity speculatively called the graviton? Well, if there was one it would still only move at the speed of light and no faster. And gravity waves (i.e. the effects of gravity) have been observed to propagate through space at the speed of light. But these gravity waves appear to only be ripples in the fabric of spacetime much like water waves oscillating in the ocean.

If the graviton particle did exist as a force carrier, moving at the speed of light, then how could it escape from inside a black hole across the event horizon? In other words, how would the effects of gravity be observed outside the black hole? How could gravity communicate from beyond the event horizon? For this to happen escape the velocity of any particle reemerging from a black hole, like gravitons, would need to exceed the speed of light through spacetime. 

So, while a particle can’t move faster than light through spacetime, spacetime can move faster than light. The law that nothing can move faster than light only applies to particles moving in spacetime – it doesn’t apply to spacetime itself. This doesn’t violate causality since information can’t move faster than light through spacetime.
You can think of gravity as spacetime flowing like a river into mass, called The River Model of General Relativity.

Thursday, July 11, 2024

Agile is Not Scrum

Agile is a mindset for software development. This mindset can be implemented using different framework methodologies such as Scrum, XP, Kanban, etc.

Agile software development does not necessarily prescribe the concept of Sprints or Scrums. Sprints and Scrums are primarily related to a specific implementation of Agile, called Scrum.

Waterfall

In the early days of software engineering, when mainframes were the primary form of computing, Waterfall was the key form of software project management. It treated software product development like physical product development in long cycles where each step only flowed in one direction. At the time, this made sense.


Scrum

Before the advent of cloud computing, in 2006, software development and deployment (operations) were completely separate practices. The software engineers who developed code were not the engineers who distributed the software on media or servers. Breaking down software into Sprints, especially via Scrum, gave software development teams a fast, responsive, and iterative way of producing working software in short intervals and small chunks (versions) that was ready to ship (package) or deploy (on servers).


Kanban

Since the advent of cloud computing, both hardware infrastructure provisioning and software development can all be performed virtually. This gave rise to the integration of development and operations (DevOps) into a single practice. Software engineers can now provision, deploy, and monitor hardware. This led to continuous software development through automation and, specifically, continuous integration/continuous deployment (CI/CD).

Agile is a flexible and iterative approach to software development that can be tailored through different frameworks. The shift from Waterfall to Agile methodologies, such as Scrum and Kanban, has allowed for more responsive and efficient software development. The integration of DevOps practices, facilitated by cloud computing and automation, has further streamlined the process through continuous integration and deployment.

Just don't confuse the software development mindset with a specific implementation. Agile is not Scrum.



Sunday, May 5, 2024

Quantum Computing Realizations

I've always been highly interested in quantum computing. And, as I've mentioned before, quantum computing is not yet practical.

There are key differences between a quantum computer and a classical digital computer. Basically, quantum computers store and process data using quantum error correction to manipulate quantum particles.

Over the years, while discussing quantum computing with others, I came across two interesting realizations.

First, is that digital computer bits only store data where as quantum computer bits, called qubits, not only store data, but they also process it. And they process their data, in parallel, while entangled with other qubits – no central processing unit required to bottleneck the data flow.

Second, it is hard for someone to be interested in quantum computing without also being interested in quantum mechanics which is the overarching theory that describes the behavior of matter. If you want to know what it's like to physically entangle quantum particles, operate on them, and measure their outcome then you can run your own quantum computer "program" (circuit) for yourself using a real quantum computer.

My Three Daily Life Goals

I just read Paul Nurse's book, "What is Life?" who was awarded the Nobel Prize in Physiology in 2001 for his discoveries in protein molecules that control the division of cells in the cell cycle.

While reflecting on Nurse's book, I went through my personal notes on life. My personal notes are what Tiago Forte calls a 'second brain.' I came across my note on life from March 2013 where I detailed my daily goals.

Basically, when I wake up, I want my day to run as smoothly as possible while maintaining a responsibility to the long-term.

My Three Daily Goals in Life

1. I want to be happy.
2. I want to eradicate unhappiness in my life.
3. I want every day to run as smoothly as possible. No hassles.

Simplicity (the practice of minimalism) is key to my life philosophy. 

Monday, March 11, 2024

Hacking Software Developers

I recently heard about an interesting hack that was targeting software developers, especially those on Linux. It basically tricks developers into installing malware on their computer by way of a fake job interview and downloading code from a public code repository.

During an initial call, the fake company asks you to complete a software development exercise by downloading a project from GitHub. The project, which contains a ZIP file, has a seemingly benign non-executable file named something like “readme․pdf” except that the dot, in the filename, isn’t a simple dot/period but rather a symbol that looks like a period such as U+2024. In other words, the OS doesn’t see a file extension (PDF in this example).

When the developer double clicks on the file, it executes. Typically, on Linux, a user must manually chmod a downloaded file to set the executable flag (i.e. chmod +x readme․pdf). However, since this filed was embedded in a ZIP file, the executable meta data can be preserved. Also, a password is sometimes added to the ZIP file so even smart virus protection software can’t scan the ZIP file. 

This is a Homograph Attack using Unicode Deception. Two things to be suspicious of this attack is the zipping of small-sized files and the password on a ZIP.

Here are the details on the hack

Friday, February 9, 2024

 Vision Pro Demo

I tried out the  Vision Pro demo at my local Apple Store, today.

BLUF: It's an impressively cool piece of wow. I'd equate it to a Tesla (separate the man from the machine). 

Today's 30-minute scripted demo highlighted most of its key features. When I put it on, it didn't feel like I was looking at a display... it seemed more like I was looking straight through the device at my surroundings. The 3D photos, movies, and the immersive experiences were phenomenal. I was impressed at how well the windows locked into place without moving in the slightest. However, I didn't get an opportunity to type anything or go off script. 

 Vision Pro demo area with eyeglasses Rx reader
At the end of the day, I can see where spatial computing is going. We're seeing tomorrow's ideas implemented using today's technology. This is Apple's worst version of any spatial computing device they'll design. Future versions will continue to improve, so I'm eager to see where this leads us. 

Tuesday, January 9, 2024

iPhone Announcement Anniversary

January 10, 2007

The first iPhone was announced 17 years ago, today, approximately 41 minutes into Steve Jobs's MacWorld Keynote address. This is the reason that Apple ads display 9:41 AM in their marketing materials. 

At the time, I was working as a software engineer at the Apple Online Store. Like everyone else, I was surprised and amazed at the product announcement. 

The next day, I printed out a color image of the iPhone, glued it to corrugated cardboard, and sent photos of me holding it to friends joking that I had an actual iPhone and pointing out that the photo wasn't photoshopped. (The iPhone wouldn't ship until six months later.) My coworker and I even took photos of us holding the cardboard cutout in front of 1 Infinite Loop.

I wouldn't see an actual iPhone in the wild until sometime later when I was in a meeting and Tim Cook walked in, pulled it out of his pocket and flashed it at us while saying, "This is so cool." We were all champing at the bit to get our hands on one.


Thursday, January 4, 2024

A Love for Amazon

Amazon has cracked the code on keeping customers.

A coworker used to work at Amazon for four years. He told me that Jeff Bezos believed there was nothing more expensive than losing a customer. Hence, the reason why returns are so easy with Amazon, even though Amazon may eat those costs in the short term. Last night was no exception.

AWS Hack

In 2014, my Amazon Web Services account was hacked. Ten days into the month, I noticed that my bill was already a thousand times larger than my typical bill. Amazon recognized the hack and gave me amnesty for the entire bill. 

Spreading the Profits

Amazon had their first profitable quarter in the fourth quarter of 2001 when they earned $5 million in profit on revenues of over $1 billion.¹ Bezos wanted to share this profit with customers.

Tech companies typically don't pay dividends to investors. Even today, Amazon doesn't pay a dividend. But sharing profits with customers is very unusual. In this case, the profit shared with each customer amounted to less than $1/customer. As insignificant as that sounds, Bezos found a way to make it meaningful.

The price of a USPS First Class postage stamp was increasing in January 2002 from 34¢ to 37¢. Back then, "snail mail" was much more popular than today; not everyone had an e-mail account. Each price increase in postage was a challenge before April 2007 when the post office introduced the Forever Stamp. Before the Forever Stamp, a person had to buy 1¢ stamps to add to postage. This was a hassle and many people, including myself, would, for example, simply put two 34¢ stamps on a letter instead of a 34¢ stamp plus three 1¢ stamps. It seems like a waste of money but our personal time, to purchase additional 1¢ stamps, is worth something to each of us.

Bezos's solution was elegant. He recognized this inconvenience of needing to buy 1¢ stamps, so he had Amazon send a bunch of 1¢ stamps to their customers. I remember thinking how brilliant this was when I received them.

Last Night

Two days ago, I received my shingles #2 and pneumonia vaccines. The shingles second vaccine is the same as the first one, which I received on its own, without much discomfort. But, yesterday, I felt sick and I feared Covid because, on New Year's Day, I had breakfast with someone who tested positive for Covid, the next day – the same day I received my vaccines.

I took my temperature yesterday morning and it was fine – no fever. In the evening, when I took it, my thermometer was displaying a fever of 100.7°F. But the display was blinking which meant the battery was too low for a reliable reading. I looked on Amazon for a replacement battery. But there was no practical option that would arrive in time plus I couldn't buy a single battery which would be a waste.

Instead, I ordered a new thermometer around 6 PM and I paid an extra $3 so it would be delivered the next morning between 4AM and 8 AM. However, to my surprise, Amazon delivered it about an hour later. I took my temperature with the new thermometer and all was well – no fever. 

It's unusual for Amazon to move up a delivery by one day. I'm speculating that they know, if someone is paying extra for a faster delivery, for a medical item, that it's urgently needed. So, it seems they were able to expedite my delivery to give me peace of mind. I greatly appreciate that and it pays to live very close to downtown San Diego.