Apple Park and Severance
July 21, 2026 at 6:24 PM by Dr. Drang
The indispensable Michael Tsai has an interesting post up today about Apple Park and whether its design isolates the people who work there, despite its having been designed—in part, at least—to encourage collaboration.
As usual, Michael has collected a group of choice quotes on the topic. I won’t link to any of them. You should just go to his blog, read the excerpts he’s assembled, and follow the links to see more. But I’ve often wondered how good Apple Park is as a working environment, especially when I watch Severance.
As you may know, the Lumon Industries building that Mark, Helly, Irving, and Dylan work in is a former Bell Labs facility in Holmdel, New Jersey. I first learned about the building several years ago, when I read Jon Gertner’s excellent history of The Labs, The Idea Factory. It’s a distinctive place designed by Eero Saarinen in the early 60s.

Image from GameRant.
Bell Labs was known for the fruitful collaboration of its researchers, often started through chance meetings in the hallways of other Bell Labs facilities. The new Holmdel building was supposed to further that sort of teamwork, but things didn’t work out as planned. Here’s Gertner:
The isolated Holmdel radio labs that had stood on the site for decades—the vast green fields where children would throw boomerangs on weekends, the gracious woodframe building around which engineers would test radio transmissions—were gone. Those labs had been razed. In their stead, on the center of 460 acres of former farmland, Bell Labs had commissioned an enormous modern building to accommodate its growing ranks.
I should mention here that those “vast green fields” and “isolated Holmdel radio labs” were where Karl Jansky invented radio astronomy. As for the building itself:
For obvious reasons, the building was soon nicknamed the Black Box. It was a steel-and-glass six-story structure, serious and austere, designed by the Finnish American architect Eero Saarinen. It was also a monument to architectural presumption. Saarinen, who died before his design was actually built, saw his creation as having the same kind of flexibility as Murray Hill— offices could easily be moved and partitioned, for instance—but with a crucial difference. He placed the building’s long connecting hallways on its glassy perimeter, with the windowless offices and labs in the interior. “Gone completely are the old claustrophobic, dreary, prison-like corridors,” Saarinen remarked with pride. Thanks to the floor-to-ceiling windows, the members of the technical staff would be liberated by unobstructed views of the countryside rather than chance encounters in the hallways.
I don’t want to hit you over the head with parallels, but does “floor-to-ceiling windows” remind you of any other place? Anyway, how well did the Holmdel building foster innovation?
[Labs employee Dick Frenkiel] soon came to realize that he had joined an organization that differed from its myth. The Black Box represented one aspect of this evolution. More to the point, the thrust of the work at Bell Labs seemed to have shifted decisively to big projects involving hundreds of people. Frenkiel’s Bell Labs didn’t seem to have anything to do with heroic research on a new amplifier, done by a few men in a hushed lab. It was about large teams attacking knotty problems for years on end.
I’m sorry, I said I didn’t want to hit you over the head with a̸ c̸a̸r̸ parallels, didn’t I?
Apple has lots of smart people. Some of them must know that the dystopian center of its hit TV show is the 1960s version of Apple Park.
Sum of cubes via difference tables
July 19, 2026 at 9:07 PM by Dr. Drang
Yesterday I watched the most recent Numberphile video, in which Ben Sparks explains a few finite series and the equations that simplify the calculation of their sums. He derives the formulas graphically, and it’s all very cleverly done, especially the one for the sum of cubes.
The idea is to get a simple polynomial expression in n for
As I said, Ben’s graphical method is really clever and easy to understand, and it leads to this expression:
I wanted to see if I could get that same result using a nongraphical and less clever method. The method that came to mind was to generate a handful of values, put them in a table, and start taking differences.
Here are some values of n, N, and the first four differences:
| n | N | Δ | Δ² | Δ³ | Δ⁴ |
|---|---|---|---|---|---|
| 1 | 1 | 8 | 19 | 18 | 6 |
| 2 | 9 | 27 | 37 | 24 | 6 |
| 3 | 36 | 64 | 61 | 30 | |
| 4 | 100 | 125 | 91 | ||
| 5 | 225 | 216 | |||
| 6 | 441 |
The differences are calculated by looking in the preceding column and subtracting the value in the same row from the value in the following row. This sort of thing is fairly easy to do by hand but is really easy to do in a spreadsheet. Here’s a screenshot of the table in Numbers, where I’m displaying the formula for the first difference, Δ:

That formula can be filled into all the difference cells, which is why it’s so easy. (I included only the first six rows in the table above because I figured you’d trust me that all the values in the fourth difference column, Δ⁴, are the same.)
The constant values in the fourth difference column mean N is a fourth-degree polynomial in n:
Because the constant fourth difference is 6, we know that
This comes from the fact that differences are analogous to derivatives, and
Once we know the degree of the polynomial and have , we can figure out the other coefficients by solving a set of four simultaneous equations for four different values of n and N. For example:
We could use any four of the six Ns we’ve calculated, but the first four are convenient. Let’s solve them in Python using NumPy and the solve function from the linalg submodule. We can do this interactively:
python:
from numpy import np
m = np.array([[1, 1, 1, 1], [1, 2, 4, 8], [1, 3, 9, 27], [1, 4, 16, 64]])
b = np.array([1 - 1**4/4, 9 - 2**4/4, 36 - 3**4/4, 100 - 4**4/4])
np.linalg.solve(m, b)
The last line returns
python:
array([ 1.77635684e-15, -3.99680289e-15, 2.50000000e-01, 5.00000000e-01])
Those first two elements of the solution array are at the lower limit of what a floating point number can be. So we can say
Therefore,
or, after collecting terms,
which is the formula Ben got in the video.
Doing basically the same thing in Mathematica is
m = {{1, 1, 1, 1}, {1, 2, 4, 8}, {1, 3, 9, 27}, {1, 4, 16, 64}};
b = {1 - 1^4/4, 9 - 2^4/4, 36 - 3^4/4, 100 - 4^4/4};
LinearSolve[m, b]
which returns
{0, 0, 1/4, 1/2}
This is the same as the Python answer but with no need to think about floating point precision.
A third way to solve the simultaneous equations is to do it in a spreadsheet. Here’s how that looks in Numbers:

where
- the block of yellow cells is the matrix
min the Python and Mathematica solutions; - the block of magenta cells is the inverse of
m; - the block of cyan cells is the vector
bin the Python and Mathematica solutions; and - the block of gray cells is the solution for through , determined by multiplying the magenta matrix by the cyan vector.
The spreadsheet uses a combination of MINVERSE and MMULT, functions that are also in Excel and Google Sheets. As with the Python solution, there are floating point artifacts here. They’re mostly hidden by my choice to show only four decimal places, but that -0.0000 for is a clue that these are not exact answers.
You might well ask why I’d bother using Python or Mathematica to solve the simultaneous equations if I already had a spreadsheet open to make the difference table. The answer is that I generally prefer working in an environment where my formulas and expressions are always visible. It makes things easier to debug, and I’m always debugging.
There are other ways to determine the coefficients. My favorite is a step-by-step procedure that simplifies the problem one polynomial degree at a time.
Given that we know from the difference table above, we can make a new table for
and its differences. By subtracting the fourth-degree term from N, we expect P to be a third-degree polynomial. Here are the first five rows of the difference table for P:
| n | P | Δ | Δ² | Δ³ |
|---|---|---|---|---|
| 1 | 0.75 | 4.25 | 6.50 | 3.00 |
| 2 | 5.00 | 10.75 | 9.50 | 3.00 |
| 3 | 15.75 | 20.25 | 12.50 | |
| 4 | 36.00 | 32.75 | ||
| 5 | 68.75 |
As expected, they become constant at the third difference. Using the same technique we used to get , we can say
Moving on, we make a table for
and its differences. Here are the first four rows of that table:
| n | Q | Δ | Δ² |
|---|---|---|---|
| 1 | 0.25 | 0.75 | 0.50 |
| 2 | 1.00 | 1.25 | 0.50 |
| 3 | 2.25 | 1.75 | |
| 4 | 4.00 |
These become constant at the second difference, and we can say
Finally, we make a table for
which is this:
| n | R |
|---|---|
| 1 | 0.00 |
| 2 | 0.00 |
| 3 | 0.00 |
| 4 | 0.00 |
Since all the R values are zero, the rest of the coefficients, and , must be zero, and we’re done.
If it’s not obvious why , consider this:
The only way for R to be zero for all values of n is if .
Building these tables is fairly easy, but it’s not as fast as building and solving the simultaneous equations. Still, there’s some satisfaction in marching to the answer this way. It’s basically a recursive solution, where we’re simplifying the problem with each step.
Using difference tables to work out the formula for the sum of cubes isn’t as slick as the graphical method shown in the video, but it does have the advantage of not requiring any ingenuity. I’m not opposed to ingenuity, but sometimes you want to just set the problem up, turn the mathematical crank, and get the answer.
Permanent Daylight Saving Time
July 17, 2026 at 12:48 PM by Dr. Drang
A couple of days ago, Casey Liss took a break from arguing about temperature scales to tweak me about the recent passage of the Sunshine Protection Act by the House. The Act would make Daylight Saving Time permanent, something Casey knows I disapprove of. A similar bill passed the Senate a few years ago, and Donald Trump has said he will sign this one, so there’s a decent chance it’ll become law. Let’s see what will happen if it does.
First, of course, there will be a lot of cheering from the people who moan about changing their clocks twice a year. Well, some of the moaners will cheer—the ones who wanted to eliminate DST and stay on Standard Time all year will grumble, but they’ll probably still be pleased to be released from that terrible burden.
I’m more interested in the consequences of permanent DST. You may recall my sunrise/sunset plots. Here’s one for Chicago in 2026:

The dirty yellow zones cover the DST period, which currently runs from the second Sunday in March to the first Sunday in November. A small change to the sunplot code extends that zone to the entire year:

I left the Standard Time lines in place for comparison, even though there won’t be any Standard Time if the Act becomes law.
As you can see, there will be a long stretch—more than two months—for which sunrise will be after 8:00.1 I’m sure this won’t bother many of you who don’t do anything before 8:00, but there are lots of people it will bother. And I bet we’ll hear from them, even though a good chunk of them will be from the current cohort of clock-change moaners.
People living near the western edge of a time zone will have even more morning darkness. You may recall my visit to a Louis Sullivan bank in West Lafayette, Indiana, a couple of weeks ago. My photos showed the sun shining on the north side of the bank, which happened because the sun rises late in West Lafayette. (By “late” I mean in local clock time. You could make an argument that the Sun, like Gandalf, is never late. Nor is it early. It rises precisely when it means to.)
Let’s see the sunrise/sunset times in West Lafayette under permanent DST:

Basically five months for which the sun never rises before 8:00. And about seven weeks for which it doesn’t rise before 9:00. No one deserves that—not even Boilermakers.
-
Yes, the graph is just for 2026, but sunrise times don’t change all that much from year to year. ↩
Floating Saturn calculations
July 16, 2026 at 9:14 PM by Dr. Drang
You’ve probably seen somewhere that the density of Saturn is less than that of water. If there were a bathtub big enough to hold it, Saturn would float. I think I first read this in one of Isaac Asimov’s collections of science essays. If you do an image search, you can easily find many illustrations of Saturn floating in water. Most of these show no more than half of Saturn under the water. Could that be right?
Because there were several things I should have been doing this afternoon, I decided to work out how much of Saturn should be underwater in these images. Even better, I’d do the more general problem: how much of any sphere would be submerged in a liquid if the density of the sphere is less than that of the liquid?
Here’s a cross-section of the problem:

We’ll say the sphere has a radius , a diameter , and a uniform density of . The density of the liquid is . Because the sphere floats, . The distance is how far the bottom of the sphere is below the liquid surface.
The mechanics of the system is simple: the mass of liquid displaced by the submerged portion of the sphere is equal to the entire mass of the sphere. That is,
where
is the volume of the submerged portion of the sphere and
is the volume of the entire sphere. These expressions are usually given in terms of , as I’ve shown here, but eventually I want to work out the value of as a fraction of .
In fact, since I want to make a plot, which requires pure numbers, let’s nondimensionalize our variables by saying
Putting all this together and doing a little algebra, we get
Since neither nor is zero, the expression in the parentheses must be. In other words,
Since , the right-hand side of the equation must be greater than zero, so we don’t have to worry about negative densities.
Typically, we’d want to calculate for a given value of , so this equation isn’t in the most useful form. But it’s easy to plot values using this equation, even if we do want to be plotted on the horizontal axis.
I mentioned earlier that I prefer to show the depth as a fraction of the diameter, not the radius, i.e.,
Here’s that plot, which comes out in a sigmoidal shape:

To figure out how much of Saturn would be under the water, we need Saturn’s density, which we can find on NASA’s old Saturn Fact Sheet, as archived on the Wayback Machine. It’s , which means our density ratio is 0.687. Looking that up in the plot, we see that the submerged portion of Saturn is between 60% and 65% of its diameter. A quick numerical solution gives us 62.7% of the diameter. Only 37.3% would be high and dry.
So those many illustrations showing more than half of Saturn’s diameter sticking out above the water are all wet.1 Of course, just seeing that Saturn’s specific gravity was over 0.5 is enough to know that most of it is underwater, but now we can put a number on it.
-
Yes, I went there. ↩