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, 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.