Monday, January 11, 2021

Solving the Social Media Dilemma

The following are additional thoughts to my earlier piece.

E-mail was the Wild West in the 1990s, without any non-repudiation regarding the authenticity of the sender of an e-mail. There was no simple way to confirm that an e-mail was sent from the e-mail address in the from field

High-tech fixed that problem, for the most part, with spam filters and refusal/authorization lists (formerly known as blacklists/whitelists). 

Now, social media faces a similar problem when people pass fiction as fact with harmful intent that violates laws, terms of service, security, etc. This is exceptionally easy and dangerous since these platforms amplify the content, especially using curated means (humans or algorithms).

What's the solution?

Social media needs to take on more publishing responsibilities like the classified ads in a newspaper. One way is by creating a third category in Section 230 other than publisher or service provider for amplifying platforms.

It doesn't matter if it's hard to scale. High-tech needs to figure it out.

Tuesday, January 5, 2021

How to Give a Great Online Presentation

Summary

How do you give a great online presentation?
Rehearse. Online. A lot.
Rehearsals are where you make your money.

Step #3, below, is the most important one.


Details

Both in-person and online presentations require the same amount of rehearsing. When presenting in person, you'll want to rehearse in the actual venue. The same applies online... Rehearse in the medium you'll use for your live presentation.

I recently gave a presentation that lasted less than 20 minutes but I spent several hours practicing it, over and over, so it would flow smoothly. Rehearsing/practicing/simulating is how we make hard things look easy.

1. Use big fonts.
When online, use no font smaller than 50 point since some people may be watching your presentation on a mobile device. Ideally, use a much larger font than 50 point.

In my presentation, the smallest font I used was 56 point on one slide with nearly all of my other slides using a 72 point font.
The only exceptions should be references at the bottom of a slide such as, "Source: United Nations Charter" or text used for effect, not to convey specific information.

2. Prepare software to be demoed ahead of time by scaling up fonts.
This applies to Web browsers, apps, command line, etc. Keep in mind that your full-screen presentation will be scaled down on other devices, i.e. most people do not view YouTube videos at full screen.

3. Practice your slide deck many times, online, while recording it.
I use Google Meet for my presentations. To practice online I set up a Google Meet for myself and I attend the Meet on another device, simultaneously (one device for presenting and the other device for viewing to simulate an attendee). This gives me an idea of how my presentation will look to others; plus it'll gives me an idea if my ISP bandwidth is adequate since I have two simultaneous video streams.  Ideally, when presenting, make sure no one else on your network is "stealing" your bandwidth by steaming videos (YouTube, Netflix, TikToc, etc).

4. Don't cut it close, time-wise. 
Plan for delays during your presentation that didn't occur during your rehearsals. Technical issues with your computer or bandwidth, people asking questions or making comments, etc. 

5. Postmortem: Record and review your actual presentation.
Learn from your mistakes and don't repeat them. In my recent presentation I wished I had minimized the "Stop sharing" strip at the bottom of the screen. Additionally, next time, I would consider raising my video camera so I'm looking straight into the camera rather than down at it.


Wednesday, December 16, 2020

Intro to Quantum Computing (Everything I know)

Quantum computers are vastly different than digital (classical) computers. Let's start with the basics in this blog post.


Bits

Digital computers store information in classical bits. A bit can only be a zero or one.

Quantum computers store information in quantum bits (qubits). A qubit can be a zero or one or negative or both zero and one at the same time due to the wave nature of superposition (Yes, this is a real thing... more on this in another blog post).

Storage

Digital computers store bits using voltage / charge.

Quantum computers store qubits using electron spin.


Logic

Digital computers perform operations using logic gates governed by Boolean algebra (AND, OR, NOT, XOR, etc.).

Quantum computers perform operations using quantum logic gates (X, Y, Z, CNOT, etc) governed by linear algebra (matrix algebra).


Behavior

Digital computers use simulation to solve problems.

Quantum computers use imitation to solve problems.


Output

Digital computers are deterministic. The same input always yields the same output.

Quantum computers are probabilistic. Repetition of the same inputs gives probabilistic output.


Architecture 

Digital computers use a von Neumann model with a CPU, ALU, and memory to store instructions and data, all made up of transistors. Physically, bits are stored in integrated circuits (chips) at room temperature.

Quantum computers store and process data using quantum error correction to manipulate quantum objects (electrons, photons, nuclei, etc). Physically, qubits are stored in quantum objects at less than 1 Kelvin (about 0.015 Kelvin) to remove any thermal noise that could disturb them.


Performance

Digital computers increase performance by a factor of two for each bit added (2n).

Quantum computers increase performance exponentially for each qubit added (2ⁿ).


Processing

Digital computers process data in series.

Quantum computers process data in parallel.


Reversibility

Digital computers’ logic gates are not all reversible.

Quantum computers’ logic gates are all reversible.

There are four operations that can be performed on a single bit: NOT, Identity, Set 0, Set 1.

1. NOT: Flip zero to one or one to zero. Think: clicking on a checkbox on a web page.

2. Identity: Multiply by 1 to keep the same value (identity). Think: core memory readout, which is destructive so the bit must be saved back into memory when reading.

3. Set 0: Force a zero into memory. 

4. Set 1: Force a one into memory.

With digital computers, only the NOT and Identity are reversible gates. Quantum computers have other gates to make non-reversible operations reversible.  

Since all quantum computer operations are reversible, output from one operation can be fed back into the same circuit to recover the original input.


It seems, before 2020, researchers viewed quantum computing as primarily a scientific goal, with relatively little immediate bearing on the future commercial viability of quantum computing. However, that has quickly changed with Honeywell, Amazon, and Microsoft entering the market.


Thursday, December 3, 2020

My Cousin's COVID Story

A guest blog post from my cousin, Joe Cuiccio, who's spent a life time devoted to health and fitness. 

Now that 2020 is soon coming to an end, I wanted to take the time and share some key events which I’ve experienced during this pretty awful year. I contracted COVID-19 in mid July. My symptoms were pretty mild and I was able to return to work after my 14 day quarantine. Other than feeling pretty tired, I was more or less able to function normally. About two weeks after that, though still tired, I decided to get my first workout in after 4 weeks of inactivity. I went easy not knowing what to expect but it felt pretty good and I was relieved. For the next two weeks, I progressed, got stronger and regained some endurance. I was feeling a lot better. That is until one evening in late August. 

Soon after a late night workout, I didn’t feel right. After a bite to eat and a shower, I'd gotten into bed and noticed my heart was racing and felt unwell. I figured I’d try to get to sleep and hopefully feel better in the morning. No such luck. My heart was still racing and I felt even worse - chest and back pain, tightness, palpitations, nausea and a bit light headed. Becoming concerned, I started to wonder could I be on the verge of a heart attack? It persisted through the morning and I decided to go to emergency care. My EKG was normal but my pulse was still rapid and my blood pressure was 160/89! I was told to see my doctor ASAP. 

I get in to see my regular doc a few days later and given my symptoms and that fact that I’ve had COVID-19, he recommends I wear a 48hr Holter monitor. It reveals a series of PAC’s and PVC’s (premature heartbeats) and some arrhythmia. These results get a me a referral to a cardiologist. Long story short, after 3 long months of tests, very anxious waiting, feeling like shit, abstaining from exertion, caffeine & alcohol, I finally get my diagnosis: a cardiac MRI revealed scar tissue on my heart which is a remnant of damage caused by the coronavirus. The good news is it’s minor enough to not require any treatment at this time and is not likely to effect me in any major way. I should feel better as time goes on. I will follow up in 6 months. 

I’m sharing this because every single day, I encounter people who either think the coronavirus is a hoax, blown out of proportion, a government plot, no worse than the flu, only affects the elderly, has a 99% recovery rate and similar kinds of ignorant nonsense. As you could imagine, I’ve done a lot of research regarding COVID-19 related heart damage and it’s really scary stuff. I am beyond grateful that I was lucky enough to have dodged a serious bullet. But there are people much younger and healthier than myself who have sustained a far worse degree of damage than I. What research has found so far is that the immune system goes into overdrive to fight the virus and continues fighting long after the virus is gone. This sustained immune response can cause damage not just to the heart but other organs including the brain and nervous system. It can cause erratic spikes in blood pressure greatly increasing the risk of blood clots, stroke and heart attack. And even though not life threatening, many are experiencing chronic fatigue months after recovery preventing them from working, performing simple daily activities and greatly affecting their quality of life. The gamut of ill effects is very wide.

So, when I hear someone quote survival rates without taking into account the huge gray area of complications that can arise in recovered people, it makes me sad, angry and frustrated beyond measure. I hope that in sharing this, it may shed some light and get some of the more close-minded individuals out there to try a little harder to think outside of the box and band together to defeat this. ❤️ 

Tuesday, December 1, 2020

macOS on AWS. Finally!

One of my "server farms" (more like a garden)
with 4 Macs and 1 GSM modem
Finally, after nearly 15 years, macOS comes to AWS. I used to maintain two server farms totally 11 Macs, mostly Mac minis, running OS X Server with 10 static IP addresses. Configuring and replacing Mac servers was my least favorite and most expensive task.

Amazon's AWS VP for EC2 shared a fun video about how macOS on AWS came to be.

Thursday, November 26, 2020

Why Do Apple APIs begin with NS?

Most developers mistakenly think NS stands for NeXTSTEP. (NSApplication, NSArray, NSMutableDictionary, etc).

NS actually stands for NeXT-Sun. It came about when NeXT partnered with Sun Microsystems to develop OpenStep, which was an API specification for developing applications on non-NeXTSTEP operating systems.

Before the partnership, NeXT's APIs began with NX. 

Wednesday, November 25, 2020

Honda Radio and Navigation Anti-theft PIN

If you need to find the PINs to unlock your Honda's radio or navigation system, then visit radio-navicode.honda.com to retrieve the PINs. But, you'll need your VIN and the devices' serial numbers, first.


Yesterday, I took my Honda Accord in for servicing at a local repair shop. A few hours later, the owner of the shop called me to tell me that my car was ready to go, with a new battery.

When I started my car, I noticed that the car's dashboard touch screen was asking for a PIN since the power had been removed. I found a piece of paper, in my glove compartment, with a four digit PIN that I tried a few times until I was locked out of the system.

I took the car to a local Honda dealer where a customer service rep explained the differences between a radio unlock PIN and a navigation PIN. Basically, the radio PIN is entered using the knob that tunes in radio stations and the navigation PIN is entered through the dashboard touch screen.

Since I had locked myself out of the navigation PIN, I had to disconnect the battery for about ten minutes and then try again. An audio technician, who had done work on my navigation system, sent me the serial number for my unit. Then, using my VIN and serial number, I was able to retrieve my four digit PIN to enable the navigation system.

The key lesson I learned was, obviously, to keep my PINs and serial numbers handy. If Honda didn't have them on record, I'm not sure what I would have done. 

Tuesday, November 10, 2020

Happy Birthday, Marines

Circa Feburary 1987
Today is the Marine Corps Birthday. It's kind of a big deal.

On 10 November 1775, the Second Continental Congress resolved to raise two battalions of Marines. The birthplace of the Marine Corps was Tun Tavern, in Philadelphia, where the first recruiting drive was held.

The Marine Corps birthday is recognized with a cake cutting ceremony. While standing before a formation of Marines, three pieces of cake are cut. The first piece of cake is given to the guest of honor. The second piece of cake is given to the oldest Marine present. Upon receiving the second piece of cake, the oldest Marine will pass it on to the youngest Marine present, without eating it, signifying the passing of experience and knowledge from the old to the young of our Corps. The oldest Marine will then receive the third piece of cake further emphasizing the fact that we care for our young Marines before we look to our own needs.

"And so it must be."

Semper Fidelis

Saturday, October 17, 2020

Why the App Stores Takes a 30% Commission

Why do both the Apple App Store and Google Play stores take a 30% cut from apps they sell?

The answer is simple. When the Apple App Store launched in 2008, the going revenue share comission for content delivered to mobile phones was about 50%, give or take a few percent depending on the mobile network.

Back then, a 99¢ ring tone or $1.99 wallpaper, delivered over-the-air for mobile phone consumption, would net the developer about half of the price paid by the cell phone subscriber. The other 50% went to the mobile network provider. These charges would show up on a subscriber's phone bill as a premium SMS (PSMS).

In 2008, the PSMS market was worth about $5B/year. So, Apple's 30% take was a welcome 40% savings compared to PSMS.  

Friday, October 16, 2020

Steve Jobs User Stories: Start With the Customer Experience

Agile software development typically begins with user stories which are informal descriptions of software features from the customer's perspective (UX). When I worked at the Apple Online Store, my boss's boss would meet with Steve Jobs. Steve would tell us the user experience he wanted without trying to solution it, himself. In other words, he left the development details to the talent (developers and designers).

You got to start with the customer experience and work backwards to the technology. You can't start with with the technology and try to figure out where you're going to try to sell it. And I've made this mistake probably more than anyone else in this room and I've got the scar tissue to prove it.

– Steve Jobs



Start With Customer the Experience

In 2006, the iPod was booming along with the third party ecosystem it created. In a meeting, Steve Jobs let it be known to us that, when he was at the Apple Online Store website, he wanted to be able to see any product within three clicks. How long and how many clicks it takes to find what you're looking for is a good base metric for usability.

The challenge with three clicks, back then, was that Apple sold about two hundred different types of headphones. Displaying all of the headphones that Apple carried, at once, on a single web page would overload our servers. (Back then, there was no cloud computing.) Alternatively, paginating the results into batches of 10 or 25 wouldn't satisfy Steve's customer experience requirement. So, what to do?

One of my coworkers came across a new UI solution, infinite scrolling. Infinite scrolling allows content to load continuously as the user scrolls down the page, below the fold, eliminating the need for pagination. We now take infinite scrolling for granted on account that it's ubiquitous on popular social media sites. But, back then, it was new and it turned out to be the perfect solution for Steve.