Friday, February 23, 2024

CIOs Complain About Tech Bundling

Consumers have been "cutting the cord", and switching from cable to streaming, because they don't want to pay for bundled channels they don't watch.

Now, according to a recent WSJ article, CIOs are having the same issue with tech vendors.

There have been an increasing number of business technology acquisitions, and it's resulting in fewer, but large-bundled, offerings.  For example, the article mentions that, after VMware bought Broadcom, it "went from more than 160 individual products to two primary bundled offerings."

The CIOs don't like it because, in many cases, they are just searching for products to fill gaps in their IT systems.  By having to buy in bundles, they end up with more complex systems with redundant functionality.  As one CIO described it: "I now end up with overlapped Venn diagrams...very hard to manage."

To simplify their IT, thus promoting robustness, reliability, and better security, CIOs need access to streamlined, modular products that let them better customize for their needs.

© 2024 Praveen Puri

Monday, February 19, 2024

A Tech Product Has to Add Value

Did you ever hear about the Juicero? 

It was a startup that sold a $699 (later $399) wifi-connected juicer and then you subscribed to get bags of pre-pulped fruits and veggies that you used in the machine to make cold-pressed juices.  

Bloomberg put them out of business with one video:

Turns out, you could just hand-squeeze the bags into your glass and didn't need the wi-fi enabled juicer...

© 2024 Praveen Puri

Friday, February 16, 2024

Chat GPT Can Be A Good Interface to APIs

I read about how Open AI will let developers and users add APIs to Chat GPT.  

If I added an email_to function, here is how simple it would be to get ChatGPT to use it (and I did this using the less powerful, free version of GPT 3.5):

me: given a function api called email_to(subject, body), if I tell you in English to email someone about something, can you take my sentence and tell me what the api call would be?

ChatGPTOf course! Please provide me with the sentence you'd like to use to email someone about something, and I'll convert it into the corresponding API call.

me: can you email Fred and ask for last week's sales figures?

ChatGPT: Certainly! The corresponding API call would be:

email_to("Request for Last Week's Sales Figures", "Hi Fred,\n\nI hope you're doing well. Could you please provide me with the sales figures from last week? It would be greatly appreciated.\n\nThank you!\n[Your Name]")

meCan you amend the function to first include the person's email?

ChatGPT: Sure, here's an updated version of the function email_to that includes the recipient's email:

def email_to(recipient_email, subject, body): # Logic to send email to recipient_email with given subject and body pass

And here's how you would use it to email Fred and ask for last week's sales figures:

email_to("", "Request for Last Week's Sales Figures", "Hi Fred,\n\nI hope you're doing well. Could you please provide me with the sales figures from last week? It would be greatly appreciated.\n\nThank you!\n[Your Name]")

Replace "" with Fred's actual email address.

© 2024 Praveen Puri

Wednesday, February 14, 2024

Programming Fun With Fibonacci Numbers

When you are learning about recursive functions in programming, two examples from mathematics are used to teach the concept: calculating factorials and the Fibonacci sequence.

Let's look at Fibonacci.  The sequence starts with 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

So, the first two values are: fib(0) = 0, fib(1)=1

After that, the next fib number is the sum of the previous two,  So, fib(2) = fib(0) + fib(1), fib(3) = fib(2) + fib(1), etc.

I saw an online discussion of someone wanting to sum the first N Fibonacci sequence, and looking for an efficient recursive program.

I wondered if you even needed recursion for the sum since, when you are summing integers, you can do it without a loop or recursion.  The sum of the first N integers is N(N+1)/2

So, I dug in and found that you can sum the first N Fibonacci numbers without loops or recursion.

1. First, we can define the constant phi =  (1 + sqrt(5))/2   #1 plus the square root of 5, divided by 2

2. Next, we can create a function to calculate the nth Fibonacci number without loops or recursion:
fib(n) =  int_round_up {[ phi ^ n - (-1 / phi) ^ n ] / sqrt(5) }  # do the calc in decimal and round up to int

3.  Finally, the function to find the sum of the first N Fibonacci numbers:
Sum_fib(n) = fib(n+2) - 1  # The sum of the first N Fib numbers is just the N+2 Fib number - 1

So, it turns out finding the sum of Fibonacci numbers is actually a simple, elegant process.

© 2024 Praveen Puri

Thursday, February 8, 2024

We Are Truly Living in a Multicultural World

My wife sent me to a Polish bakery this afternoon the pick up some homemade Paczki, which was only for sale today.  

The Polish bakery was inside a Polish grocery store, that had a small restaurant inside, that was advertising authentic Mexican food, made from 100% halal meat!

© 2024 Praveen Puri

Wednesday, February 7, 2024

Breaking The Democrat-Republican Duopoly.

Many voters aren't happy to only have a choice of Trump vs. Biden.

We will never break the duopoly unless we either get ranked choice voting, or even something simpler such as being able to vote a second choice (so that, if your first choice isn't in the top two, your second choice counts if it's one of the top two). 

That way, people will get comfortable voting third party candidates.

© 2024 Praveen Puri