Computer Guy

Computer Guy
Sunset at DoubleM Systems (DBLM.com), Del Mar, California

Wednesday, August 12, 2026

Kill a bug, birth a bug, at least. One step forward, two steps back.

 


It is well known that one often introduces a new bug when attempting to fix a different bug.  Working with ToBeWise this morning was another of those occasions. I thought it would be helpful to document the lesson.  Here's the interaction:

I pasted this proof of bug into the chat window along with the comment below:

User attachment

Me: another violation of the rule

        (I didn't have to be explicit about how the second line of this insight is word-wrapped or truncated because we have had many previous conversations about how to do it so it looks right)


chatGPT:

7:30 AM
Worked for 3m 17s

Fixed. The cause was horizontal clipping—not intentional truncation. The insight text is now constrained inside the card so it wraps completely.

Me:  I had seen this insight rendered properly recently. What changed to mess it up?

chatGPT:

7:34 AM
Worked for 1m 3s

The regression came from yesterday’s insight-counter work—not from the insight data.

To obtain accurate card-height measurements, I changed the card hierarchy in commit 76d23e9: a normal View became the outer layout container, with the touchable moved inside it. That altered how React Native calculated the text width.

An older style used “stretch plus outside margins.” It worked with the previous hierarchy, but under the new wrapper it allowed the text box to extend beyond the card, where overflow: hidden clipped it.

So yes: I inadvertently disturbed previously correct rendering while fixing the counter. The new fix uses an explicitly bounded width with inside padding, which is safe with the new hierarchy.


Me: that's all well and good, thank you for fixing that bug, but now we have something new cascading from that decision.  Here's what that insight looks like using the app on the Mac, using a version of the software just prior to your fix, using Share/Copy:


Me: and here's what that same insight looks like when displayed on the Home screen:


Me: and here's what it looks like on the author screen:


Me: what we have here are 3 different ways to display the same insight, and it seems to me that there should be only one consistent method. Why should there be such inconsistency?  And why should a simple request to count the cards as they appear on Home screen scrolling require a format change inside the card? Things are getting out of hand here.


chatGPT:

You’re right. Counting cards should never have changed the card’s visual structure, and the three surfaces should share one rendering contract for wording, typography, wrapping, and author placement. I’m mapping the Home, Author, and Share/Copy paths now so I can identify exactly where they diverged and what should be unified—without making another code change yet.

You’re right to call this out. I’m tracing the three render paths and the card-count change separately, because counting cards should never have altered how the insight itself is laid out.


chatGPT:
9:10 AM
Worked for 4m 34s

You’re right. The inconsistency is real, and counting cards should never have changed the card’s formatting.

I found three independent renderers:

SurfaceRendering method
HomeSmallQuoteContainer with Home-specific width, line spacing, and truncation
Author screenQuoteTextAndAuthor with different spacing, width, and selectable text
Share/CopyA separate square-image renderer that dynamically changes font size and line height

That explains the three appearances. Some line wrapping will naturally differ with available width, but the separate typography algorithms, colors, spacing, and sizing are unnecessary inconsistencies.

The card counter was attached by restructuring the Home card so its height could be measured. That changed the layout hierarchy and exposed the clipping problem. It was the wrong boundary: counting belongs in the scrolling-list code, not inside the insight card.

The proper correction is:

  • Create one canonical insight-and-author renderer shared by Home, Author, and Share/Copy.
  • Keep only the surrounding surface different—buttons, branding, and available card dimensions.
  • Use one typography and spacing specification everywhere.
  • Move progress counting entirely into the scrolling-list layer so it cannot affect card layout.
  • Add visual regression cases for this Joshua Brewer insight and the other troublesome long insights on iPhone and Mac.

I recommend the Home card as the canonical visual style, with responsive wrapping when another screen is wider. I have not made another code change yet; another isolated padding adjustment would only add to the problem.

9:14 AM


Me: I think there's another format not being taken into consideration: the "universal postcard" format used for posts to facebook, instagram, x, etc. Is that correct?

9:19 AM
Worked for 56s

Yes—but your first image is the “universal postcard” format. I referred to it too narrowly as Share/Copy. That same 900×900 image is used for Facebook, Instagram, X, copying, and other sharing.

More importantly, the postcard code is duplicated in several components, so even the “universal” postcard could vary depending on where sharing begins.

The complete set is therefore:

  1. Home scrolling card.
  2. Author/detail card.
  3. Universal postcard for Share/Copy/social media.

They should share one canonical insight-and-author renderer. Only the outer format should differ: responsive screen card versus square branded postcard. The wording, font family, relative sizing, spacing, punctuation, and truncation rules should come from one source.

9:20 AM

Me: ok, let's unwind the current card counting scheme completely. then make the Home screen display match the author screen display in all respects except length of the card. This will eliminate one unnecessary set of rules for displaying the insights. The universal postcard is a special case which we can deal with later. When you have Home and Author screen insight layouts identical, except for length, then we'll reopen the card counting feature.

------------------------------------

Comments and Lessons:

The bugs and inconsistencies were uncovered by asking for a feature that was completely unnecessary, but I wanted it anyway (the card counting on the home screen). That seemingly little feature took many hours of AI time, and even more of my time. Although it finally worked, it blew up something else. And now it's going to take more hours to unwind, and to fix the inconsistencies it uncovered. So be careful what you ask for! 

This is the challenge for solo operators. We can do anything we want, and many times that is not what we would do if we were CEO and had to approve a Product Manager's feature request. As CEO, my priority would be to achieve a steady state for the app, good enough to be an MVP, so that some initial product market fit could be tested. As CEO, I would have approved only ugly bug fixes, not inconsistencies, or the whim of a product manager. The only thing that matters is getting user feedback. And that requires getting users. As a solo operator, I can focus on getting users or playing with code, not both.

This is why debugging is so expensive and time consuming. It's important to test everything even though you only "fixed" one thing.  Sometimes, it's quite maddening!

Monday, August 10, 2026

How big is it?

I got curious, so I asked how many lines of code are in the ToBeWise app as of today, not counting blank lines, comments, libraries, databases, indexes, content, etc.  Just code:


In the App Store, Apple shows that the app consumes 63MB of storage total, including content, databases, indexes, and code. 

Of course it's not really important how many lines of code there are in ToBeWise. It's what they do, how they do it, and how well the entire package serves the user.  

That's what really matters and that's what keeps us focused every day.

Software is never done, here's why

I lost track of when I updated TestFlight with the latest version of ToBeWise™and definitely lost track of the individual changes that I made since then, so I asked my AI to update the TestFlight and list the changes since the last version, which was only TWO DAYS AGO:

The latest TestFlight is 80.2.09, following 80.2.08. Please check these changes:

  1. Notification Schedule

    • Changing any schedule setting should immediately start or restart the schedule.
    • The status should go directly to Active.
    • The old Not Started and Changed blocker cards should no longer appear.
    • The Frequency card should show all choices without scrolling.
  2. Get the Most from ToBeWise

    • It should begin with:
      • Why ToBeWise Matters
      • Four Ways To Use This App
    • “Four Ways” should open one card containing all four methods.
    • “Startup Insights” should no longer say “/CEOs.”
  3. Discover list screens

    • “Startup Founders/CEOs” should now say Startup Founders.
    • Lists should have the A–Z / # of Insights selector.
    • Counts should be right-aligned.
    • Sorting should work in both directions.
    • Classical Philosophers and Classical Ideas should have the correct screen titles.
    • Cards should end above the bottom navigation and scroll internally.
    • The elevator bar should be draggable.
  4. Profile information screens

    • Software Notes should have < back in the upper-left and the bottom navigation visible.
    • Privacy Policy, Terms of Service and Origin Story should wrap all lines correctly.
    • Their cards should end above the navigation and have draggable elevator bars.
    • ToBeWise blog should appear after the website link.
  5. My Metrics

    • More compact line spacing.
    • Card remains completely above the bottom navigation.
    • Watch Favorites and Watch Shares counts appear.
  6. Apple Watch and dashboard

    • Favorite and Share a quote from the Watch.
    • After opening the phone app, verify the counts reach My Metrics.
    • The dashboard should show Watch Favorite and Watch Share in both User Summary and Event Log.
    • Mac activity should be labeled simply Mac.
  7. Home screen

    • The Pause button spacing should look balanced.
    • On a Mac, automatic scrolling should stop when another app has focus and resume when ToBeWise regains focus.
So, that list represents the changes in the last two days.  This app was first programmed 10 years ago. You might think that it would be perfect by now. Not. Not ever. There is always more to do. First of all because we learn more by using the software... how to make it faster, more intuitive, simpler, and also because the environment changes continually... the target audience, the platform, user feedback, etc.

It's the law:





Friday, August 7, 2026

Apple Watch improvements

The new app icon looks a lot better on the Apple watch notifications, and that got me thinking about how I always wanted to have a watch app as a companion piece to the iPhone app.

This is step one, which allows Favorite, and Share direct from the watch. Neat.

This minimal update is automatic when the user updates the iPhone app. 

So easy!

---------------------------  Update August 9, 2026

Also updated the Management Dashboard and My Metrics to show watch Favorites and Shares.

Interesting: Apple only allows circular app icon for the watch, as opposed to the round corner square for the other devices.


Thursday, August 6, 2026

ToBeWise™ now aware of its own demise


A little feature I've wanted to add for some time is for the app to check if there is a newer version of itself available on the App Store, and if so, offer to download it now.

It's surprising how many users are getting by with older versions, and it kinda pains me to know they will not be able to use the neat features I'm adding.  

Starts with version 80.2.00, available soon, now waiting for review in the app store.

So this new feature is the one to rule them all.  (all future features)


:) 

ToBeWise™ now available as a Mac app

 In another miracle of modern technology, our favorite app is now available to run on the Mac.

The only caveat is that the Mac is Apple silicon, not Intel.


Search for tobewise on the App Store on your Mac and click the dropdown



Move the slider to the right, highlighting "iPhone & iPad Apps" and Bingo!





New 5 Star Review

 


Just can't ask for a better review.

Wish I knew who "Surfer dude" is so I can thank them.

App Icon colors drive app store banner colors

Apple generates the color of the product page header based on the colors in the app icon

This is the new app icon and the product page header on the App Store.


Below is the previous app icon and the product page header on the App Store.


I think the improvement in the product page header colors ae a HUGE improvement.
What do you think?

Here's what AI thinks:

My opinion

I think your new icon is substantially better, not just because of the icon itself, but because it transforms the entire App Store product page. The old page felt muted and somewhat generic. The new blue/teal header immediately communicates energy, clarity, and professionalism, and it makes the page look much more like a premium app.




Tuesday, August 4, 2026

Rebranding now active



Version 80.1.14 is in the app store now for a couple of days.

The new app name is ToBeWise Pro for Startups, and with a tagline of "For Your Startup, and Your Life" 

This is an experiment to see if there is any improvement to the "impressions" and "downloads" based on the new branding.

Significant modifications have been made to the app to appeal to startup founders/CEOs, and this is an ongoing process, but for now we're just interested in the pull power of the rebranding in the app store.


Isn't that app store banner ugly? What is with that gray and greenish mess?  If you ask AI, as I did, it's because of the app icon colors, which are really not that outstanding, especially with all that white.  AI suggested a punchier, more colorful app icon, and who am I to argue?  Here's what chatGPT 5.6 ULTRA came up with for a better app icon:



Compared to the mostly white background, what's not to like, right?

Here's the new app store listing title and subtitle:


Interesting to note that both title and subtitle are both maximum allowable length.

Now we wait... until Apple approves the latest version, with the new app icon, to see how the colors of the listing banner are affected. 

Hurry up and wait. Story of my life. 






Saturday, July 25, 2026

Simplifying Search: Combining Vector (Semantic) Search and Keyword Search

 It was suggested by Griffin that I look into "Vector search" in which a user can simply ask a question instead of entering one or two key words. First off, I am not a fan to the word vector. It has too many different meanings depending on context. And it sounds all sciency. And Semantic Search is a lot better, but still an unnecessary distinction. 

So I let ULTRA build that out. Here's the solution it came up with:



The idea is good, makes it easier for the user, except when it doesn't.  Why should a user have to decide whether to Search or Ask? Why do they need to know the difference. Another decision to make?  That's just one more thing to make the user think this is too complicated and stop using it. 


So a little more research and... Hybrid search! A two-fer.  No thinking, no distinction, just say what's on your mind. It's a testament to how even ULTRA gets blindsided by answering the question it was given. I asked for Vector search, and it built it, as a bolt-on feature. Leaving the regular search alone. And  giving the user the decision. Another block to progress.

Once you look at the solution it came up with, and you are on a crusade to simplify, you gotta ask: Why do I need to choose?  Why can't ToBeWise™ just know what I want?  So it's back into the code again for version 6 of simplified search.  So, with a nudge to ULTRA, using the word Hybrid, we get the much more simple user interface, and the underlying code that handles Search and Ask:




----------------------------

A bit of ToBeWise™  search history:

Version 1: searched only keywords, matching only on the 200+ list names

Version 2: searched for keywords in the context of each insight. That was a huge improvement, but it was feared that it would take so long for each search to go through 2,000 insights word for word, but it was amazingly fast. 

Version 3: included author names in the search.

Version 4: included operators (+, -, "", ",", ...) to really improve the power of the keyword search.

Version 5: Semantic search as a separate feature

Version 6: Hybrid search.




Oh, the joy of thinking/doing nothing (Silent Background Database Refresh)


Re: ToBeWise™ for Startups...

This morning I added a dozen or so insights by Peter Thiel, and turned my attention to another matter briefly, then went back to the app.  Holy cow, those insights were already there, in the database for everyone, and nobody had to do anything to get them. It was completely automatic. No decisions about should I or shouldn't I refresh the database to get a few more insights. No delay in loading the app to refresh the files. It already happened, in the background. Wow! No thinking involved, no delay, no decisions.

The less users need to think, click, and type, the easier it is for them. In all cases.



Friday, July 24, 2026

Rebranding self


While I'm going about rebranding ToBeWise™ for startups, I've been giving some thought to rebranding myself. Previously my tagline was "Advisor to Entrepreneurs", but "Startup Advisor" is shorter, uses the key word, more down-to-earth, and just seems more focused.  

I got distracted by an ad on Facebook for getting a personalized signature made by a real calligrapher, only 39 bucks. That seemed like a fun thing to do because my signature is awful, and then I thought that's something chatGPT should be able to do, free, right?  Check it out. This is the signature I would like to be able to do, if I could. But my advanced age has brought on what is called an "essential tremor" and I now can't even read my own handwriting.   

Not sure I'll use it, just experimenting with rebranding graphics and taglines. 




 

Tuesday, July 21, 2026

Who is the target user? What is the word?

I've been doing startups for a long, long time. Gotta be 60-plus years since the first businesses I started in college. Since then, I've done 7 of my own. And for the last 25 years I've been helping founder/CEOs with their startups. I'm not perfect, but I know a thing or two about startups. So when it comes to repositioning the ToBeWise™ product, there's only one word that comes to mind: Startup. 



Paul Graham, founder of Y-combinator advised founders to begin by “building something you yourself need” and summarized the principle as “founders are target users.”

I built something that I needed/wanted, I just didn't position it at the time as a product for Startups. As I mentioned in previous posts on this subject, I've wanted to reposition ToBeWise™ for a couple of years, but the stars needed some time to align. Now we have alignment.

Of course, it's not going to be a simple job of changing the App Store listing.  It's going to take some surgery in the app itself, and that's what's going on now. And I know that startup peeps are going to be techies, and unless my product is bulletproof and simple and powerful and professional... well, they will let me know about with more than frowny face emoticons. 

For example, as I write this, Codex/GPT is banging away at the code to completely change the app to do silent background database updates, to replace the clunky old school method in use since before such magic was possible on the iPhone. Today's audience, especially techies, would be disappointed with that outdated methodology.  GPT says it will take 32 hours of engineering time to make it work, but it's worth it, especially since I don't have to do the coding, because if it were up to me... well I don't thing I would live that long. I just checked, and it finished the coding step in only 78 minutes. Insanity!  Of course now is the debugging phase; no telling how long that will take. (UPDATE: from start to finish, including testing and debugging was 6 hours, using Codex/chatGPT 5.6 Ultra.)

A side note: with all the vibe coding I've been doing, my old Macbook Pro from 2021, with the M1 chip and 16gb of ram was really slowing down progress so I upgraded to a new model with M5 chip and 48gb of ram. Wow! What a huge difference that has made.

Stay tuned for more on the rebranding adventure.



 

Is anybody out there?

Now that I can build anything, and can measure the effectiveness of product improvement as well as marketing activities, it became time to enter the dark and murky world of thinking more clearly about who is the target market, what they have to gain from the product. One of my most favorite insights on this is from good friend Roberto Monaco:


Up until recent changes, the app was positioned as a collection of quotations for people who might be interested in that sort of thing. I'm one of them, but who are the others? Tough to say, right? The audience is so broad as to not really exist. What word would you use to find them? (Crickets!). I'm reminded of the Pink Floyd hit "Is anybody out there?"

After lengthy chats with GPT, we came up with the following improvements to the app store listing, which would be the very first place to start with any repositioning. As you can see, it's still murky, even though it's the best GPT can do with its previous murky target market.

I put these notes together to memorialize the failure.

The great benefit of this exercise was to learn the ins and outs of the App Store, but it was only a trial run, a true learning experience for what was to come next.

Notes of a failed experiment in positioning in the App Store:


---------------------------------------------------------

The app has been substantially improved over the last several months, with greatly improved features and ease of use.

I feel it's finally ready for the "Go to Market" phase.


The very first step is to pay attention to how ToBeWise™ is listed in the App Store. Your feedback is most welcome.


Optimizing app store listing: 


1. Change the app's subtitle

from "The Right Words at the Right Time", which is passive. Moving to Think Clearly. Decide Wisely. which is Active and includes the user benefit.


2. For the 'what's new' section on the app store: Faster file loading - almost instantaneous on warm starts. Spectacular new features for sharing to Facebook, Instagram, X, text Messages, and email. About 150 new insights added to the database. We respond to user feedback!

This app is getting really very close to what we envisioned 10 years ago

3. In the app Description area

"The wisdom of the ages is humanity’s most valuable asset.

Now it’s yours.

Discover timeless insights from history’s greatest minds, in their own words.

Think clearly.

Decide confidently.

Act with purpose.

Discover thousands of carefully curated insights across more than 200 topics in life and business. Search by subject or author, save favorites, create private collections, schedule reminders, explore related resources, and share the insights that matter (to text messages, facebook, Instagram, X, email, etc).

ToBeWise™ — The right words at the right time." 

4. Replace the current Keywords entry with "wisdom,decision making,leadership,startup,insight,mindset,mentor,success,clarity,confidence,purpose"

What was there: "wisdom,inspiration,quotations,startup,entrepreneur,habits,famous quotes,business quotes".  (note the duplication of quotes/quotations here, but not even mentioned at all in the new one. We're not selling quotes, we're selling transformation.

5. Promotional Text

Transform yourself.
Think Clearly. Decide Wisely.
This is the system. Guaranteed.

Part Two: Measuring what matters

Only time will tell how these changes affect installs, and continued use.  
Apple provides very little in the way of metrics. And much of it is incomplete because users can opt out of having such data collected.

We get a weekly analytics email report from Apple for ToBeWise™ that shows this info: 
number of impressions, 
 app units (downloads?), 
 proceeds (sales, always zero), 
 sessions (opt-in only) and 
 crashes (opt-in only). Can you shed a little more light on each of these and how they are calculate, what is included in each category?

MetricWhat Apple countsWhat it means for ToBeWise™
ImpressionsEach time ToBeWise™ is visible for more than one second on the App Store’s Today, Apps, Games, or Search tabs. Product-page views are also included. The same person can generate several impressions.

Exposure. It does not mean the person opened your listing or seriously considered downloading.
App UnitsA first-time acquisition: someone taps Get or Buy for the first time. Updates, redownloads, and downloads to another device using the same Apple Account are not new app units. It is counted at the acquisition transaction, not when the app is opened.

For a free app, this is your closest Apple measure of new downloaders, but it is not exactly the same as completed installations or active users.
ProceedsYour estimated net revenue from paid app sales and in-app purchases after applicable taxes and Apple’s commission.Since ToBeWise™ is free and apparently has no paid in-app purchase, zero is expected, regardless of downloads.


Sessions — opt-in onlyEach occasion when the app is used for at least two seconds. If it goes into the background and is later used again, Apple counts another session. One person can create many sessions.Usage frequency, but only among users who allow Apple to share analytics. It is not total usage and is not a count of people.
Crashes — opt-in onlyEvery crash event reported from opted-in devices. Multiple crashes by one user each count separately. It is not the number of users who experienced a crash.A stability warning signal. Zero is encouraging, but it does not prove that no crashes occurred because non-opted-in devices are absent.

Important distinctions

App Units are not the same as installations. Apple’s separate Installations metric counts completed installs and can include redownloads, additional devices on the same account, and Family Sharing—but installation data is also based on analytics opt-in users.

Sessions and crashes are samples, not complete totals. Apple does not simply multiply them to estimate all users. Low-volume usage data may also be withheld because of privacy thresholds.

For Phase 1, I would read the report this way:

Impressions = seen
App Units = acquired
Sessions = used
Crashes = failed during use
Proceeds = earned

The most useful immediate ratio is App Units ÷ Impressions, but Apple’s better formal conversion metric uses downloads divided by unique-device impressions, because total impressions can include repeated exposure to the same person. 

About "Opt-in" metrics:

The user opts in at the iPhone system level, not inside ToBeWise™.

Go to:

Settings → Privacy & Security → Analytics & Improvements

There are two relevant switches:

  1. Share iPhone & Watch Analytics — permits diagnostic and usage information to be sent to Apple.
  2. Share With App Developers — permits Apple to share relevant app-usage statistics and crash information with developers such as you. If the first switch is off, developer sharing is automatically off.

So when Apple labels Sessions or Crashes as “opt-in only,” it means those totals include only ToBeWise™ users whose devices have analytics sharing with app developers enabled.

Apple says the information provided to developers is aggregated or otherwise structured so it does not personally identify the user.

This is entirely separate from Apple’s Allow Apps to Request to Track setting and separate from any analytics you have built directly into ToBeWise™.

For the first time, as of about July 4, 2026, we now have our own built-in analytics, separate from what Apple provides. We can measure the results of any marketing activities. Now all we need to do is take action on the actual marketing priorities, which have just started with the improvements to the app store listing, as above.

Feedback much appreciated.

🚀

M

Measure it to Manage it.

It was evident from the beginning of the ToBeWise™  adventure (ten years ago) that it would be important to be able to measure user metrics, that's just common sense. However, when we started with this project funding was severely limited and the timeline was tight. In order to stay within budget and achieve the deadline, some features that were wanted had to be eliminated. One of those major features was to be able to measure user engagement. And without that, any marketing efforts would just be a shot in the dark.  Reminds me of one of the more memorable insights on this topic:


I don't want to be in the position where I don't know how I'm wasting money. If there were going to be a new target market for the app, it would be imperative that we be able to measure the effectiveness of our efforts. And that brought the next big coding job: a Management Dashboard that would show me who does what and when.  What's amazing is that now I have a granular look at what users are doing with the app, what features they use, how long they spend on the app, how often they sign in... so much more. And it's instantaneous. The app "phones home" every time it's loaded.  So if I would do anything to juice the number of users, I would get immediate feedback. Beautiful.


I can build, and now I can measure. The world is mine!  Bwahahaha! (evil laugh).

That took about a month to get the Management Dashboard working, but still nothing done on the repositioning.  Stay tuned...


ToBeWise™ major changes afoot

 I have long planned to reposition the app, but the time required to do a proper job of it seemed a huge hurdle considering the resources available to do the job. But in the fullness of time, the stars have aligned and I am committed to the project. The driver for doing this is this excellent insight by Sam Altman:


The app had always had a rather bland positioning, a product without a clear intended user, and the only positioning was what could be mentioned in the App Store description, basically a list of features and focus on quotations, wisdom, etc. The marketing truism is that if you are talking to everyone, you are talking to no one, so nobody listens, especially in a very crowded marketplace for quote apps.

While the app had always had significant resources fit for startups, it was never the primary focus, so nobody in that segment really knew about it. And with zero marketing dollars, and a price for the app of zero, it was challenging, at best, to do anything significant to change that.

Up until about 6 months ago, all of the programming was delegated. And the delegatee for the last several years was doing the work pro bono, in exchange for my mentoring services. So it was always on the back burner and subject to his other priorities. 

What's that old saying: "If you want something done right, you're going to have to do it yourself."  Fair enough. But I wasn't really looking at getting addicted to coding again. I had pretty much left the world of hard core coding a long time ago, and I remember how it can take over my life completely. But now I'm retired and looking to enjoy my rapidly dwindling years playing freestyle frisbee on the beach, shooting pool, etc.

And then I got into chatGPT, and Codex... After the uncomfortable learning curve, it was amazing how I could get things to happen and never have to look at the real code at all. Vibe coding! What a game changer.  So I got into so many of the improvements that were in the backlog waiting for my only pro bono programmer to free up an hour or two to focus on the app.  Not anymore!  I got addicted again. 

And for the last several months, the app has steading improved to the point where it is bulletproof and looking like something I'm proud to put my name on.  Now it is ready for a new life as a product for its new target market: Startups, specifically founders of startups and their team. 

That repositioning requires a good bit of reprogramming as well as other supporting activities, and I'll get into them in subsequent posts.  For now, it's onward and upward; to infinity and beyond! Stay tuned as the adventure unfolds.

Friday, May 22, 2026

AI is going bonkers

Token maxxing

At Google’s recent I/O 2026, Google’s CEO shared some data on the explosion of token demand:

Google is now processing more than 3.2 quadrillion tokens per month–a 7x increase from a year ago.

The point being that token demand is growing a lot. More firms are using more AI, and the change is happening rapidly, and at massive scale.

It’s not just Google’s data that shows a surge in token consumption. According to Silicon Data (via Bloomberg), total token spending (i.e. dollars spent on tokens), has risen to new highs, and growth recently took the shape of a near-vertical wall.

Total token expenditure is now more than double what it was in just December of 2025.

So, more tokens consumed, and more dollars spent on tokens. That’s interesting so far as it goes, but the really interesting thing is the ongoing apparent relationship between token-pricing and demand: the cheaper that tokens get, the more demand appears to accelerate. In other words, this is a Jevons-like acceleration, whereby efficiency-gains expand the frontier of demand. 

source: A16Z newsletter, today


Tuesday, May 19, 2026

 


Just arrived this morning from the FAA.  The Wright Brothers Master Pilot Award. I feel like I’m a living example of the *exception* to the rule that “there are no old, bold, pilots”.

Saturday, May 16, 2026

Client Meeting: Software Development Issues

 Client meeting 5/15/26, notes taken by Calendly


Summary

The meeting centered on the challenges and philosophies of structured software development, particularly in the context of integrating AI and agentic systems. Client and Michael McCafferty discussed the limitations of AI in software architecture versus its strengths in code generation, emphasizing the persistent 'knowing-doing gap' in both human and AI-driven development. They explored best practices, such as the Lean Startup model, advocating for early and continuous user involvement to ensure software meets real needs and garners user buy-in. The conversation delved into the technical and philosophical aspects of teaching AI how to think, including the use of retrieval augmented generation (RAG) to manage context limitations in large language models. They also addressed the importance of structuring both the development process and personal life, with actionable suggestions like maintaining checklists and aligning life plans with work objectives. The meeting concluded with plans to review checklist data in the next session and a mutual commitment to ongoing collaboration and self-improvement.

Action items

Client

 
Next week, review and analyze the checklist data collected so far, and meet with Michael McCafferty to discuss insights and gaps between the life plan and current measurements.

Discussion

AI and Software Development Capabilities and Limitations

The participants discussed the strengths and weaknesses of AI in software development, emphasizing that while AI is highly effective at writing code within well-defined frameworks, it struggles with high-level architecture and design. Both agreed that AI lacks the ability to perform architectural work, and that structured software development principles remain essential regardless of AI involvement. The conversation highlighted the 'knowing-doing gap'—the difference between knowing best practices and actually implementing them—attributing this gap to human tendencies to seek immediate gratification from coding rather than following structured processes. Bridging this gap was identified as a key challenge for both AI and human developers.

Software Development Methodologies Waterfall vs. Lean Startup

The meeting compared traditional waterfall and lean startup methodologies, noting that waterfall involves building software before seeking user adoption, while lean startup emphasizes early user engagement and building to their specifications. Michael McCafferty advocated for the lean startup model, stressing the importance of understanding both the needs of project funders and end users, and involving users early to ensure buy-in and reduce resistance. The discussion also highlighted the value of rapid prototyping and ongoing user involvement to ensure the final product meets real needs.

Challenges with Legacy Systems and COBOL

The conversation explored the difficulties of working with legacy systems, particularly those written in COBOL. Client shared an example of integrating Notion with a hotel scheduling system in COBOL, highlighting the scarcity of training data for AI models due to proprietary codebases. Michael McCafferty, with extensive COBOL experience, noted that while COBOL is structured and English-like, its diversity makes it hard to train AI models, and traditional human programmers are still needed for COBOL work. They agreed there is a business opportunity in developing AI models that can handle COBOL, but neither participant is eager to pursue it.

Best Practices and Structuring Agentic Development

Client discussed curating a library of best practices for agentic (AI-driven) development, emphasizing the opinionated nature of software development and the need to break down best practices into atomic steps with checklists for each phase. Michael McCafferty recommended adopting the lean startup model and starting with understanding the needs of both funders and users, advocating for top-down design that begins with business goals and user needs rather than technical details. The discussion included the importance of constraining AI development with initial design and philosophy, and debated how much AI should mirror human thinking versus following structured approaches.

Technical Constraints of Large Language Models (LLMs) and Retrieval-Augmented Generation (RAG)

The participants examined the technical limitations of LLMs, particularly their limited context windows and the challenge of teaching them to think stepwise. Client explained that LLMs can only process a limited amount of information at once, making it necessary to clear context and focus on specific tasks. Michael McCafferty suggested using Retrieval-Augmented Generation (RAG) to avoid overloading the context window. They discussed breaking problems into smaller components and guiding the model through sequential steps, as LLMs cannot autonomously manage complex, multi-step reasoning. The conversation highlighted the need for careful orchestration and structuring of tasks for LLMs to be effective.

Philosophy of Work, Life Balance, and Personal Development

A significant portion of the meeting focused on personal development, work-life balance, and the philosophy behind both. Michael McCafferty reflected on his own career, noting that he was consumed by work in his 20s and neglected personal life, and advised Client to avoid this trap by thinking about life goals beyond work. The discussion included the value of checklists for both professional and personal growth, the importance of aligning daily actions with broader life plans, and the need to periodically reassess one's direction. They also discussed the benefits of seeking experiences outside work, using tools like calendars to schedule activities, and the role of reading and learning in personal growth, while acknowledging the challenges of motivation and the tendency to default to work for gratification.

Meta-Philosophy Teaching AI How to Think and the Role of Philosophy in Agentic Systems

The meeting delved into the meta-philosophy of agentic AI systems, with Client raising the challenge of teaching AI not just what to do, but how to think, given the limitations of current models. Michael McCafferty suggested that the way AI 'thinks' is shaped by how developers prompt and structure it, cautioning that AI will reflect the developer's own thinking patterns. They agreed that the real challenge is philosophical, not technical, and recommended seeking insights from leading AI companies and their developers. The discussion emphasized the importance of defining the philosophical framework for agentic systems and the need to look beyond technical solutions to broader questions of behavior and structure.