Category Archives: Uncategorized

4 Lessons from a Life in Music: The Wisdom of John Williams

The Kennedy Center posted this short discussion with John Williams from June 24, 2022. I believe there are some valuable life lessons contained inside John’s responses to Deborah.

1. Mental and Physical Health are Prerequisites for Producing Great Work.

The stereotype of the crazy but inspired artist with a dissolute, unstable life have a kernel of truth, but I suspect that those cases tend to burn themselves out sooner rather than later.

Producing good work consistently, as John Williams has over seven decades in Hollywood, requires a firm grasp on reality, a steady hand, a strong work ethic, and stable life.

Don’t neglect your family life, your health, your

2. Don’t Script Your Life — Be Ready for Opportunity

If you rely on a grand plan for your life, you will inevitably be disappointed, especially if your success depends on so many others.

John’s evolution from pianist to arranger to composer happened naturally, haphazardly because he had talent, was in the right place, and he jumped at new opportunities when they came up. It wasn’t planned. He had decided in Julliard that he would never play as well as his friend and classmate Van Cliburn, so he would try composing. He didn’t know how to make a living doing that so he went to play in studio sessions in Hollywood like his father.

In the studios, there were small opportunities to do arranging, and eventually full composing. Star Wars, E.T., Jurassic Park, Schindler’s List, Harry Potter were never inevitable. He moved step-by-step, doing a great job on each stepping stone, opening up the next opportunity.

3. There Is No Substitute for Full Immersion

John said that all composers should also conduct the orchestra (at least to some degree) because it will teach them more about composing and orchestration than criticism from teachers.

This resonates strongly of Scott Young’s Ultralearning principle of Direct Learning. Practice the thing you want to get good at. Immerse yourself fully in all aspects of the craft. For the composer, there is a vast gulf between the theoretical notes on the page and the physical realization by the musicians in an orchestra. Get in the middle of that to really learn how it translates.

It truly serves as the ultimate check of your work–your mind can full you into thinking you did a good job, but getting up there and presenting it, coaxing it, breathing life into it with others–that’s where you really learn.

4. Learn the Jobs Of Those Around You (Especially Those You Depend On)

He said at one point that a composer should learn how to play one string instrument, one wind, and one brass, and go sit in an orchestra. You will learn a lot about how an orchestra works. The view from a chair is a lot different from the podium. What are an instrumentalists concerns? What is unreasonably difficult, or even impossible? What kinds of things do they particularly enjoy? What makes them feel appreciated? What is offensive?

All of us who work with others, especially if we are in charge of them to any degree, can benefit from this. Can we sit with our children while they do homework? Can we read the books they’re reading? Can we understand more junior employees concerns and take them seriously?

Announcing: Microsoft.IO.RecyclableMemoryStream 1.3.0

It’s a long time coming, but I’ve finally released the next version of Microsoft.IO.RecyclableMemoryStream!


What’s New

Bug Fixes

  • Removed a buggy and unnecessary boundary check in Write methods. (927e173, benmwatson)


  • Removed LINQ iteration in some properties (ffe469c, ndrwrbgs)
  • Overloads of Read, SafeRead, and Write that accept Span<byte> arguments (.NET Core and .NET Standard targets only) (86fc159, brantburnett)


  • New buffer allocation strategy: exponential. Instead of linearly increasing large buffer sizes by a fixed multiple (say, 1MB), you can choose to have it increase exponentially in size, starting with smaller large buffers. This will allow you more efficient use of space, especially in smaller heap scenarios where you don’t have gobs of memory to keep in a pool. We use this in Bing in some data centers that are more resource constrained than others. (4755383, magicpanda0618)
  • New targets for .NET Framework 4.6, .NET Standard 2.1 (4e97a7c, brantburnett,
    927e173, benmwatson)
  • Overload for TryGetBuffer, introduced in .NET Framework 4.6.
    (927e173, benmwatson)
  • Allow the Stream’s GUID to be set explicitly (c21b25b, mosdav)


  • Removed CBT build support files. Using dotnet.exe to build now.
  • Added public key for delayed signing during build
  • Consolidate and updated all NuGet package settings in the .csproj file.
  • Added setting for generating a NuGet package for symbols (.snupkg)

Blog moving hosts this weekend

I looked at my site’s settings in Google’s webmaster center and it told me that my site was in the top 5% slowest sites on the Internet. Wow. That really sucks. I’m sorry, dear reader. In any case, this was the final straw, after a string of outages and other general unhappiness. So I’m moving on…

I hope to make this change with no downtime, but who knows who well that will work.