10 interesting stories served every morning and every evening.




1 969 shares, 45 trendiness

a deep dive into ASCII rendering

Recently, I’ve been spend­ing my time build­ing an im­age-to-ASCII ren­derer. Below is the re­sult — try drag­ging it around, the demo is in­ter­ac­tive!

One thing I spent a lot of ef­fort on is get­ting edges look­ing sharp. Take a look at this ro­tat­ing cube ex­am­ple:

Try open­ing the split” view. Notice how well the char­ac­ters fol­low the con­tour of the square.

This ren­derer works well for an­i­mated scenes, like the ones above, but we can also use it to ren­der sta­tic im­ages:

The im­age of Saturn was gen­er­ated with ChatGPT.

Then, to get bet­ter sep­a­ra­tion be­tween dif­fer­ent col­ored re­gions, I also im­ple­mented a cel shad­ing-like ef­fect to en­hance con­trast be­tween edges. Try drag­ging the con­trast slider be­low:

The con­trast en­hance­ment makes the sep­a­ra­tion be­tween dif­fer­ent col­ored re­gions far clearer. That was key to mak­ing the 3D scene above look as good as it does.

I put so much fo­cus on sharp edges be­cause they’re an as­pect of ASCII ren­der­ing that is of­ten over­looked when pro­gram­mat­i­cally ren­der­ing im­ages as ASCII. Consider this an­i­mated 3D scene from Cognition’s land­ing page that is ren­dered via ASCII char­ac­ters:

It’s a cool ef­fect, es­pe­cially while in mo­tion, but take a look at those blurry edges! The char­ac­ters fol­low the cube con­tours very poorly, and as a re­sult, the edges look blurry and jagged in places:

This blur­ri­ness hap­pens be­cause the ASCII char­ac­ters are be­ing treated like pix­els — their shape is ig­nored. It’s dis­ap­point­ing to see be­cause ASCII art looks so much bet­ter when shape is uti­lized. I don’t be­lieve I’ve ever seen shape uti­lized in gen­er­ated ASCII art, and I think that’s be­cause it’s not re­ally ob­vi­ous how to con­sider shape when build­ing an ASCII ren­derer.

I started build­ing my ASCII ren­derer to prove to my­self that it’s pos­si­ble to uti­lize shape in ASCII ren­der­ing. In this post, I’ll cover the tech­niques and ideas I used to cap­ture shape and build this ASCII ren­derer in de­tail.

We’ll start with the ba­sics of im­age-to-ASCII con­ver­sion and see where the com­mon is­sue of blurry edges comes from. After that, I’ll show you the ap­proach I used to fix that and achieve sharp, high-qual­ity ASCII ren­der­ing. At the end, we’ll im­prove on that by im­ple­ment­ing the con­trast en­hance­ment ef­fect I showed above.

Let’s get to it!

ASCII con­tains 95 print­able char­ac­ters that we can use. Let’s start off by ren­der­ing the fol­low­ing im­age con­tain­ing a white cir­cle us­ing those ASCII char­ac­ters:

ASCII art is (almost) al­ways ren­dered us­ing a mono­space font. Since every char­ac­ter in a mono­space font is equally wide and tall, we can split the im­age into a grid. Each grid cell will con­tain a sin­gle ASCII char­ac­ter.

The im­age with the cir­cle is pix­els. For the ASCII grid, I’ll pick a row height of pix­els and a col­umn width of pix­els. That splits the can­vas into rows and columns — an grid:

Monospace char­ac­ters are typ­i­cally taller than they are wide, so I made each grid cell a bit taller than it is wide.

Our task is now to pick which char­ac­ter to place in each cell. The sim­plest ap­proach is to cal­cu­late a light­ness value for each cell and pick a char­ac­ter based on that.

We can get a light­ness value for each cell by sam­pling the light­ness of the pixel at the cel­l’s cen­ter:

We want each pix­el’s light­ness as a nu­meric value be­tween and , but our im­age data con­sists of pix­els with RGB color val­ues.

We can use the fol­low­ing for­mula to con­vert an RGB color (with com­po­nent val­ues be­tween and ) to a light­ness value:

Now that we have a light­ness value for each cell, we want to use those val­ues to pick ASCII char­ac­ters. As men­tioned be­fore, ASCII has 95 print­able char­ac­ters, but let’s start sim­ple with just these char­ac­ters:

We can sort them in ap­prox­i­mate den­sity or­der like so, with lower-den­sity char­ac­ters to the left, and high-den­sity char­ac­ters to the right:

I added space as the first (least dense) char­ac­ter.

We can then map light­ness val­ues be­tween and to one of those char­ac­ters like so:

This maps low light­ness val­ues to low-den­sity char­ac­ters and high light­ness val­ues to high-den­sity char­ac­ters.

Rendering the cir­cle from above with this method gives us:

That works… but the re­sult is pretty ugly. We seem to al­ways get @ for cells that fall within the cir­cle and a space for cells that fall out­side.

That is hap­pen­ing be­cause we’ve pretty much just im­ple­mented near­est-neigh­bor down­sam­pling. Let’s see what that means.

Downsampling, in the con­text of im­age pro­cess­ing, is tak­ing a larger im­age (in our case, the im­age with the cir­cle) and us­ing that im­age’s data to con­struct a lower res­o­lu­tion im­age (in our case, the ASCII grid). The pixel val­ues of the lower res­o­lu­tion im­age are cal­cu­lated by sam­pling val­ues from the higher res­o­lu­tion im­age.

The sim­plest and fastest method of sam­pling is near­est-neigh­bor in­ter­po­la­tion, where, for each cell (pixel), we only take a sin­gle sam­ple from the higher res­o­lu­tion im­age.

Consider the cir­cle ex­am­ple again. Using near­est-neigh­bor in­ter­po­la­tion, every sam­ple ei­ther falls in­side or out­side of the shape, re­sult­ing in ei­ther or light­ness:

If, in­stead of pick­ing an ASCII char­ac­ter for each grid cell, we color each grid cell (pixel) ac­cord­ing to the sam­pled value, we get the fol­low­ing pix­e­lated ren­der­ing:

This pix­e­lated ren­der­ing is pretty much equiv­a­lent to the ASCII ren­der­ing from be­fore. The only dif­fer­ence is that in­stead of @s we have white pix­els, and in­stead of spaces we have black pix­els.

These square, jagged look­ing edges are alias­ing ar­ti­facts, com­monly called jag­gies. They’re a com­mon re­sult of us­ing near­est-neigh­bor in­ter­po­la­tion.

To get rid of jag­gies, we can col­lect more sam­ples for each cell. Consider this line:

The line’s slope on the axis is . When we pix­e­late it with near­est-neigh­bor in­ter­po­la­tion, we get the fol­low­ing:

Let’s try to get rid of the jag­gi­ness by tak­ing mul­ti­ple sam­ples within each cell and us­ing the av­er­age sam­pled light­ness value as the cel­l’s light­ness. The ex­am­ple be­low lets you vary the num­ber of sam­ples us­ing the slider:

With mul­ti­ple sam­ples, cells that lie on the edge of a shape will have some of their sam­ples fall within the shape, and some out­side of it. Averaging those, we get gray in-be­tween col­ors that smooth the down­sam­pled im­age. Below is the same ex­am­ple, but with an over­lay show­ing where the sam­ples are taken:

This method of col­lect­ing mul­ti­ple sam­ples from the larger im­age is called su­per­sam­pling. It’s a com­mon method of spa­tial anti-alias­ing (avoiding jag­gies at edges). Here’s what the ro­tat­ing square looks like with su­per­sam­pling (using sam­ples for each cell):

Let’s look at what su­per­sam­pling does for the cir­cle ex­am­ple from ear­lier. Try drag­ging the sam­ple qual­ity slider:

The cir­cle be­comes less jagged, but the edges feel blurry. Why’s that?

Well, they feel blurry be­cause we’re pretty much just ren­der­ing a low-res­o­lu­tion, pix­e­lated im­age of a cir­cle. Take a look at the pix­e­lated view:

The ASCII and pix­e­lated views are mir­ror im­ages of each other. Both are just low-res­o­lu­tion ver­sions of the orig­i­nal high-res­o­lu­tion im­age, scaled up to the orig­i­nal’s size — it’s no won­der they both look blurry.

Increasing the num­ber of sam­ples is in­suf­fi­cient. No mat­ter how many sam­ples we take per cell, the sam­ples will be av­er­aged into a sin­gle light­ness value, used to ren­der a sin­gle pixel.

And that’s the core prob­lem: treat­ing each grid cell as a pixel in an im­age. It’s an ob­vi­ous and sim­ple method, but it dis­re­gards that ASCII char­ac­ters have shape.

We can make our ASCII ren­der­ings far more crisp by pick­ing char­ac­ters based on their shape. Here’s the cir­cle ren­dered that way:

The char­ac­ters fol­low the con­tour of the cir­cle very well. By pick­ing char­ac­ters based on shape, we get a far higher ef­fec­tive res­o­lu­tion. The re­sult is also more vi­su­ally in­ter­est­ing.

Let’s see how we can im­ple­ment this.

So what do I mean by shape? Well, con­sider the char­ac­ters T, L, and O placed within grid cells:

The char­ac­ter T is top-heavy. Its vi­sual den­sity in the up­per half of the grid cell is higher than in the lower half. The op­po­site can be said for L — it’s bot­tom-heavy. O is pretty much equally dense in the up­per and lower halves of the cell.

We might also com­pare char­ac­ters like L and J. The char­ac­ter L is heav­ier within the left half of the cell, while J is heav­ier in the right half:

We also have more extreme” char­ac­ters, such as _ and ^, that only oc­cupy the lower or up­per por­tion of the cell, re­spec­tively:

This is, roughly, what I mean by shape” in the con­text of ASCII ren­der­ing. Shape refers to which re­gions of a cell a given char­ac­ter vi­su­ally oc­cu­pies.

To pick char­ac­ters based on their shape, we’ll some­how need to quan­tify (put num­bers to) the shape of each char­ac­ter.

Let’s start by only con­sid­er­ing how much char­ac­ters oc­cupy the up­per and lower re­gions of our cell. To do that, we’ll de­fine two sampling cir­cles” for each grid cell — one placed in the up­per half and one in the lower half:

It may seem odd or ar­bi­trary to use cir­cles in­stead of just split­ting the cell into two rec­tan­gles, but us­ing cir­cles will give us more flex­i­bil­ity later on.

A char­ac­ter placed within a cell will over­lap each of the cel­l’s sam­pling cir­cles to some ex­tent.

One can com­pute that over­lap by tak­ing a bunch of sam­ples within the cir­cle (for ex­am­ple, at every pixel). The frac­tion of sam­ples that land in­side the char­ac­ter gives us the over­lap as a nu­meric value be­tween and :

For T, we get an over­lap of ap­prox­i­mately for the up­per cir­cle and for the lower. Those over­lap val­ues form a -dimensional vec­tor:

We can gen­er­ate such a -dimensional vec­tor for each char­ac­ter within the ASCII al­pha­bet. These vec­tors quan­tify the shape of each ASCII char­ac­ter along these di­men­sions (upper and lower). I’ll call these vec­tors shape vec­tors.

Below are some ASCII char­ac­ters and their shape vec­tors. I’m col­or­ing the sam­pling cir­cles us­ing the com­po­nent val­ues of the shape vec­tors:

We can use the shape vec­tors as 2D co­or­di­nates — here’s every ASCII char­ac­ter on a 2D plot:

Let’s say that we have our ASCII char­ac­ters and their as­so­ci­ated shape vec­tors in a CHARACTERS ar­ray:

We can then per­form a near­est neigh­bor search like so:

The find­BestChar­ac­ter func­tion gives us the ASCII char­ac­ter whose shape best matches the in­put lookup vec­tor.

Note: this brute force search is not very per­for­mant. This be­comes a bot­tle­neck when we start ren­der­ing thou­sands of ASCII char­ac­ters at  . I’ll talk more about this later.

To make use of this in our ASCII ren­derer, we’ll cal­cu­late a lookup vec­tor for each cell in the ASCII grid and pass it to find­BestChar­ac­ter to de­ter­mine the char­ac­ter to dis­play.

Let’s try it out. Consider the fol­low­ing zoomed-in cir­cle as an ex­am­ple. It is split into three grid cells:

Overlaying our sam­pling cir­cles, we see vary­ing de­grees of over­lap:

When cal­cu­lat­ing the shape vec­tor of each ASCII char­ac­ter, we took a huge num­ber of sam­ples. We could af­ford to do that be­cause we only need to cal­cu­late those shape vec­tors once up front. After they’re cal­cu­lated, we can use them again and again.

However, if we’re con­vert­ing an an­i­mated im­age (e.g. can­vas or video) to ASCII, we need to be mind­ful of per­for­mance when cal­cu­lat­ing the lookup vec­tors. An ASCII ren­der­ing might have hun­dreds or thou­sands of cells. Multiplying that by tens or hun­dreds of sam­ples would be in­cred­i­bly costly in terms of per­for­mance.

With that be­ing said, let’s pick a sam­pling qual­ity of with the sam­ples placed like so:

For the top sam­pling cir­cle of the left­most cell, we get one white sam­ple and two black, giv­ing us an av­er­age light­ness of . Doing the same cal­cu­la­tion for all of the sam­pling cir­cles, we get the fol­low­ing 2D vec­tors:

From now on, in­stead of us­ing the term lookup vec­tors”, I’ll call these vec­tors, sam­pled from the im­age that we’re ren­der­ing as ASCII, sam­pling vec­tors. One sam­pling vec­tor is cal­cu­lated for each cell in the grid.

Anyway, we can use these sam­pling vec­tors to find the best-match­ing ASCII char­ac­ter. Let’s see what that looks like on our 2D plot — I’ll la­bel the sam­pling vec­tors (from left to right) C0, C1, and C2:

Hmm… this is not what we want. Since none of the ASCII shape vec­tor com­po­nents ex­ceed , they’re all clus­tered to­wards the bot­tom-left re­gion of our plot. This makes our sam­pling vec­tors map to a few char­ac­ters on the edge of the clus­ter.

We can fix this by nor­mal­iz­ing the shape vec­tors. We’ll do that by tak­ing the max­i­mum value of each com­po­nent across all shape vec­tors, and di­vid­ing the com­po­nents of each shape vec­tor by the max­i­mum. Expressed in code, that looks like so:

Here’s what the plot looks like with the shape vec­tors nor­mal­ized:

If we now map the sam­pling vec­tors to their near­est neigh­bors, we get a much more sen­si­ble re­sult:

We get , M and $. Let’s see how well those char­ac­ters match the cir­cle:

Nice! They match very well.

Let’s try ren­der­ing the full cir­cle from be­fore with the same method:

Much bet­ter than be­fore! The picked char­ac­ters fol­low the con­tour of the cir­cle very well.

Using two sam­pling cir­cles — one up­per and one lower — pro­duces a much bet­ter re­sult than the -dimensional (pixelated) ap­proach. However, it still falls short when try­ing to cap­ture other as­pects of a char­ac­ter’s shape.

For ex­am­ple, two cir­cles don’t cap­ture the shape of char­ac­ters that fall in the mid­dle of the cell. Consider -:

For -, we get a shape vec­tor of . That does­n’t rep­re­sent the char­ac­ter very well at all.

The two up­per-lower sam­pling cir­cles also don’t cap­ture left-right dif­fer­ences, such as the dif­fer­ence be­tween p and q:

We could use such dif­fer­ences to get bet­ter char­ac­ter picks, but our two sam­pling cir­cles don’t cap­ture them. Let’s add more di­men­sions to our shape to fix that.

Since cells are taller than they are wide (at least with the mono­space font I’m us­ing), we can use sam­pling cir­cles to cover the area of each cell quite well:

sam­pling cir­cles cap­ture left-right dif­fer­ences, such as be­tween p and q, while also cap­tur­ing dif­fer­ences across the top, bot­tom, and mid­dle re­gions of the cell, dif­fer­en­ti­at­ing ^, -, and _. They also cap­ture the shape of diagonal” char­ac­ters like / to a rea­son­able de­gree.

One prob­lem with this grid-like con­fig­u­ra­tion for the sam­pling cir­cles is that there are gaps. For ex­am­ple, . falls be­tween the sam­pling cir­cles:

To com­pen­sate for this, we can stag­ger the sam­pling cir­cles ver­ti­cally (e.g. low­er­ing the left sam­pling cir­cles and rais­ing the right ones) and make them a bit larger. This causes the cell to be al­most fully cov­ered while not caus­ing ex­ces­sive over­lap across the sam­pling cir­cles:

We can use the same pro­ce­dure as be­fore to gen­er­ate char­ac­ter vec­tors us­ing these sam­pling cir­cles, this time yield­ing a -dimensional vec­tor. Consider the char­ac­ter L:

For L, we get the vec­tor:

I’m pre­sent­ing -dimensional shape vec­tors in a ma­trix form be­cause it’s eas­ier to grok geo­met­ri­cally, but the ac­tual vec­tor is a flat list of num­bers.

The light­ness val­ues cer­tainly look L-shaped! The 6D shape vec­tor cap­tures L’s shape very well.

Now we have a 6D shape vec­tor for every ASCII char­ac­ter. Does that af­fect char­ac­ter lookups (how we find the best match­ing char­ac­ter)?

Earlier, in the find­BestChar­ac­ter func­tion, I ref­er­enced a get­Dis­tance func­tion. That func­tion re­turns the Euclidean dis­tance be­tween the in­put points. Given two 2D points and , the for­mula to cal­cu­late their Euclidean dis­tance looks like so:

Put into code, this looks like so:

...

Read the original on alexharri.com »

2 484 shares, 21 trendiness

The Dilbert Afterlife

Thanks to every­one who sent in con­do­lences on my re­cent death from prostate can­cer at age 68, but that was Scott Adams. I (Scott Alexander) am still alive. Still, the con­do­lences are ap­pre­ci­ated. Scott Adams was a sur­pris­ingly big part of my life. I may be the only per­son to have read every Dilbert book be­fore grad­u­at­ing el­e­men­tary school. For some rea­son, 10-year-old-Scott found Adams’ sto­ries of time-wast­ing meet­ings and pointy-haired bosses hi­lar­i­ous. No doubt some of the at­trac­tion came from a more-than-pass­ing re­sem­blance be­tween Dilbert’s name­less cor­po­ra­tion and the California pub­lic school sys­tem. We’re all in­mates in pris­ons with dif­fer­ent names. But it would be in­suf­fi­ciently am­bi­tious to stop there. Adams’ comics were about the nerd ex­pe­ri­ence. About be­ing clev­erer than every­one else, not just in the sense of be­ing high IQ, but in the sense of be­ing the only sane man in a crazy world where every­one else spends their days lis­ten­ing to over­paid con­sul­tants drone on about mis­sion state­ments in­stead of do­ing any­thing use­ful. There’s an arc in Dilbert where the boss dis­ap­pears for a few weeks and the en­gi­neers get to man­age their own time. Productivity shoots up. Morale soars. They in­vent warp dri­ves and time ma­chines. Then the boss re­turns, and they’re back to be­ing chron­i­cally be­hind sched­ule and over bud­get. This is the nerd out­look in a nut­shell: if I ran the cir­cus, there’d be some changes around here.Yet the other half of the nerd ex­pe­ri­ence is: for some rea­son this never works. Dilbert and his bril­liant co-work­ers are stuck watch­ing from their cu­bi­cles while their id­iot boss racks in bonuses and ac­co­lades. If hu­mor, like re­li­gion, is an opi­ate of the masses, then Adams is mas­ter­fully un­sub­tle about what type of wound his art is try­ing to numb. This is the ba­sic en­gine of Dilbert: every­one is re­warded in ex­act in­verse pro­por­tion to their virtue. Dilbert and Alice are bril­liant and hard-work­ing, so they get crumbs. Wally is bril­liant but lazy, so he at least en­joys a fool’s par­adise of end­less cof­fee and donuts while his co-work­ers clean up his messes. The P.H.B. is nei­ther smart nor in­dus­tri­ous, so he is for­ever on top, reap­ing the re­wards of every­one else’s toil. Dogbert, an in­vet­er­ate scam­mer with a pass­ing re­sem­blance to var­i­ous trick­ster deities, makes out best of all. The re­pressed ob­ject at the bot­tom of the nerd sub­con­scious, the thing too scary to view ex­cept through hu­mor, is that you’re smarter than every­one else, but for some rea­son it is­n’t work­ing. Somehow all that stuff about small talk and sports­ball and drink­ing makes them stronger than you. No equa­tion can tell you why. Your best-laid plans turn to dust at a sin­gle glint of Chad’s per­fectly-white teeth. Lesser lights may dis­tance them­selves from their art, but Adams ra­di­ated con­tempt for such sur­ren­der. He lived his whole life as a se­ries of Dilbert strips. Gather them into one of his sig­na­ture com­pen­dia, and the ti­tle would be Dilbert Achieves Self Awareness And Realizes That If He’s So Smart Then He Ought To Be Able To Become The Pointy-Haired Boss, Devotes His Whole Life To This Effort, Achieves About 50% Success, Ends Up In An Uncanny Valley Where He Has Neither The Virtues Of The Honest Engineer Nor Truly Those Of The Slick Consultant, Then Dies Of Cancer Right When His Character Arc Starts To Get Interesting.If your re­ac­tion is I would ab­solutely buy that book”, then keep read­ing, but ex­pect some de­tours.The niche that be­came Dilbert opened when Garfield first said I hate Mondays”. The quote be­came a pop­u­lar sen­sa­tion, in­spir­ing t-shirts, cof­fee mugs, and even a hit sin­gle. But (as I’m hardly the first to point out) why should Garfield hate Mondays? He’s a cat! He does­n’t have to work!In the 80s and 90s, say­ing that you hated your job was con­sid­ered the height of hu­mor. Drew Carey: Oh, you hate your job? There’s a sup­port group for that. It’s called every­body, and they meet at the bar.”This was merely the ca­reer sub­re­gion of the su­per­con­ti­nent of Boomer self-dep­re­cat­ing jokes, whose other promi­nences in­cluded I overeat”, My mar­riage is on the rocks”, I have an al­co­hol prob­lem”, and My men­tal health is poor”.Ar­guably this had some­thing to do with the Bohemian turn, the re­ac­tion against the forced cheer of the 1950s mid­dle-class es­tab­lish­ment of com­pany men who gave their all to face­less cor­po­ra­tions and then dropped dead of heart at­tacks at 60. You could be that guy, proudly boast­ing to your date about how you traded your sec­ond-to-last patent artery to com­plete a spread­sheet that raised share­holder value 14%. Or you could be the guy who says Oh yeah, I have a day job work­ing for the Man, but fuck the rat race, my true pas­sion is white wa­ter raft­ing”. When your fa­ther came home every day look­ing hag­gard and worn out but still prais­ing his boss be­cause you’ve got to re­spect the com­pany or they won’t take care of you”, be­ing able to say I hate Mondays” must have felt lib­er­at­ing, like the mantra of a free man.This was the world of Dilbert’s rise. You’d put a Dilbert comic on your cu­bi­cle wall, and feel like you’d got­ten away with some­thing. If you were re­ally clever, you’d put the Dilbert comic where Dilbert gets in trou­ble for putting a comic on his cu­bi­cle wall on your cu­bi­cle wall, and dare them to move against you.But t-shirts say­ing Working Hard . . . Or Hardly Working?” no longer hit as hard as they once did. Contra the usual story, Millennials are too earnest to tol­er­ate the pleas­ant con­tra­dic­tion of say­ing they hate their job and then go­ing in every day with a smile. They ei­ther have to gen­uinely hate their job - be­come some kind of dirt­bag com­mu­nist la­bor ac­tivist - or at least pre­tend to love it. The worm turns, all that is cringe be­comes based once more and vice versa. Imagine that guy boast­ing to his date again. One says: Oh yeah, I grudg­ingly clock in every day to give my eight hours to the rat race, but trust me, I’m se­cretly hat­ing my­self the whole time”? The other: I work for a bou­tique so­lar en­ergy startup that’s end­ing cli­mate change - sav­ing the en­vi­ron­ment is my pas­sion!” Zoomers are worse still: not even the fig leaf of so­cial good, just pure hus­tle.Sil­i­con Valley, where hus­tle cul­ture has reached its apogee, has an ad­di­tional con­sid­er­a­tion: why don’t you found a startup? If you’re so much smarter than your boss, why not com­pete against him di­rectly? Scott Adams based Dilbert on his ca­reer at Pacific Bell in the 80s. Can you imag­ine quit­ting Pacific Bell in the 80s to, uh, found your own Pacific Bell? To go to Michael Milken or who­ever was in­vest­ing back then, and say Excuse me, may I have $10 bil­lion to cre­ate my own ver­sion of Pacific Bell, only bet­ter?” But if some­one were to try to be Dilbert to­day — to say, earnestly, I hate my job be­cause I am smarter than my boss and could do it bet­ter than him,” that would be the ob­vi­ous next ques­tion, the same way I am bet­ter at pick­ing stocks than Wall Street” ought to be fol­lowed up with Then why don’t you in­vest?”Above, I de­scribed the nerd ex­pe­ri­ence” of being smarter than every­one else, not just in the sense of be­ing high IQ, but in the sense of be­ing the only sane man in a crazy world where every­one else spends their days lis­ten­ing to over­paid con­sul­tants drone on about mis­sion state­ments in­stead of do­ing any­thing use­ful.” You nod­ded along, be­cause you knew the only pos­si­ble con­clu­sion to the arc sug­gested by that sen­tence was to tear it down, to launch a tirade about how that nerd is naive and nar­cis­sis­tic and prob­a­bly some­how also a racist. In the year of our Lord 2026, of course that’s where I’m go­ing. Dilbert is a relic of a sim­pler time, when the trope could be played straight. But it’s also an ar­ti­fact of the tran­si­tion, maybe even a dri­ver of it. Scott Adams ap­pre­ci­ated these con­sid­er­a­tions ear­lier and more acutely than any­one else. And they drove him nuts.Adams knew, deep in his bones, that he was clev­erer than other peo­ple. God al­ways pun­ishes this im­pulse, es­pe­cially in nerds. His usual strat­egy is straight­for­ward enough: let them reach the ad­vanced physics classes, where there will al­ways be some­one smarter than them, then beat them on the head with their own in­tel­lec­tual in­fe­ri­or­ity so many times that they cry un­cle and ad­mit they’re noth­ing spe­cial.For Adams, God took a more cre­ative and — dare I say, cru­eler — route. He cre­ated him only-slightly-above-av­er­age at every­thing ex­cept for a world-his­tor­i­cal, Mozart-tier, ab­solutely Leonardo-level skill at mak­ing silly comics about hat­ing work.Scott Adams never for­gave this. Too self-aware to deny it, too nar­cis­sis­tic to ac­cept it, he spent his life search­ing for a loop­hole. You can read his frus­tra­tion in his book ti­tles: How To Fail At Almost Everything And Still Win Big. Trapped In A Dilbert World. Stick To Drawing Comics, Monkey Brain. Still, he re­fused to stick to comics. For a mo­ment in the late-90s, with books like The Dilbert Principle and The Dilbert Future, he seemed on his way to be be­com­ing a semi-se­ri­ous busi­ness in­tel­lec­tual. He never quite made it, maybe be­cause the Dilbert Principle was­n’t re­ally what man­agers and con­sul­tants wanted to hear:I wrote The Dilbert Principle around the con­cept that in many cases the least com­pe­tent, least smart peo­ple are pro­moted, sim­ply be­cause they’re the ones you don’t want do­ing ac­tual work. You want them or­der­ing the dough­nuts and yelling at peo­ple for not do­ing their as­sign­ments—you know, the easy work. Your heart sur­geons and your com­puter pro­gram­mers—your smart peo­ple—aren’t in man­age­ment.Okay, I am clev­erer than every­one else”, got it. His next ven­ture (c. 1999) was the Dilberito, an at­tempt to rev­o­lu­tion­ize food via a Dilbert-themed bur­rito with the full Recommended Daily Allowance of twenty-three vi­t­a­mins. I swear I am not mak­ing this up. A con­tem­po­ra­ne­ous NYT re­view said it could have been de­signed only by a food tech­nol­o­gist or by some­one who eats lunch with­out much thought to taste”. The Onion, in its twenty year ret­ro­spec­tive for the doomed co­mestible, called it a frus­trated grop­ing to­wards meal re­place­ments like Soylent or Huel, long be­fore the ex­is­tence of a cul­ture nerdy enough to sup­port them. Adams him­self, look­ing back from sev­eral years’ dis­tance, was even more scathing: the min­eral for­ti­fi­ca­tion was hard to dis­guise, and be­cause of the veg­gie and legume con­tent, three bites of the Dilberito made you fart so hard your in­testines formed a tail.”His sec­ond foray into the culi­nary world was a lo­cal restau­rant called Stacey’s. The New York Times does a pitch-per­fect job cov­er­ing the re­sults. Their ar­ti­cle starts:This is yet an­other story about a clue­less but ob­tru­sive boss — the kind of med­dle­some man­ager you might laugh at in the pan­els of Dilbert,” the daily comic strip.…and con­tin­ues through a de­scrip­tion of Adams mak­ing every pos­si­ble rookie mis­take. As the restau­rant does worse and worse, Adams be­comes more and more con­vinced that he has to fig­ure out some clever life­hack that will turn things around and rev­o­lu­tion­ize restau­rants. First he comes up with a the­ory that light is the key to restau­rant­ing, and spends ages fid­dling with the win­dows. When this fails, he de­volves into an un­mis­tak­able sign of des­per­a­tion - ask­ing blog com­menters for ad­vice:He also turned to Dilbert fans for sug­ges­tions on how to use the party room, in a post­ing on his blog ti­tled Oh Great Blog Brain.” The Dilbert faith­ful re­sponded with more than 1,300 com­ments, mix­ing in­ter­est­ing ideas (interactive mur­der-mys­tery the­ater) with un­likely mis­chief (nude vol­ley­ball tour­na­ments). Mr. Adams asked his em­ploy­ees to read the com­ments and is now slowly try­ing some of them.But what makes this ar­ti­cle truly per­fect - I can’t be­lieve it did­n’t get a Pulitzer - is that it’s not some kind of hos­tile am­bush pro­file. Adams is to­tally self-aware. He also finds the whole sit­u­a­tion hi­lar­i­ous! Everyone in­volved is in on the joke! The wait­ers find it hi­lar­i­ous! After every work­day, Adams and the wait­ers get to­gether and laugh long into the night to­gether about how bad a boss Adams is!There’s a run­ning joke about how if you see a busi­ness that loses mil­lions yearly, it’s prob­a­bly run by some banker’s wife who’s get­ting sub­si­dized to feel good about her­self and pre­tend she has a high-pow­ered job. I think this is ap­prox­i­mately what was go­ing on with Stacey’s. Adams made enough money off Dilbert that he could in­dulge his fan­tasies of be­ing some­thing more than the Dilbert guy”. For a mo­ment, he could think of him­self as a tem­porar­ily-em­bar­rassed busi­ness­man, rather than just a fan­tas­ti­cally suc­cess­ful hu­morist. The same prob­a­bly ex­plains his for­ays into tele­vi­sion (“Dilbert: The Animated Series”), non-Dil­bert comics (“Plop: The Hairless Elbonian”), and tech­nol­ogy (”WhenHub”, his site of­fer­ing live chats with sub­ject-mat­ter ex­perts”, which was shelved af­ter he awk­wardly tried to build pub­lic­ity by sug­gest­ing that mass shoot­ing wit­nesses could profit by us­ing his site to tell their sto­ries.)Adams and Elon Musk oc­ca­sion­ally talked about each other - usu­ally to de­fend one an­other against me­dia crit­i­cism of their re­spec­tive racist rants - but I don’t know if they ever met. I won­der what it would have been like if they did. I imag­ine them com­ing to­gether at some Bay Area house party on co­pi­ous amounts of LSD or MDMA. One, the world’s great­est comic writer, who more than any­thing else wanted to suc­ceed in busi­ness. The other, the world’s great­est busi­ness­man, who more than any­thing else wanted peo­ple to think that he’s funny. Scott Adams could­n’t stop frit­ter­ing his tal­ent and for­tune on doomed at­tempts to be taken se­ri­ously. But some­day Elon Musk will buy America for $100 tril­lion, tell the UN that he’s re­nam­ing it the United States of 420-69”, and the as­sem­bled am­bas­sadors will be as silent as the grave. Are there psy­chic gains from trade to be had be­tween two such peo­ple?Michael Jordan was the world’s best bas­ket­ball player, and in­sisted on test­ing him­self against base­ball, where he failed. Herbert Hoover was one of the world’s best busi­ness­men, and in­sisted on test­ing him­self against pol­i­tics, where he crashed and burned. We’re all in­mates in pris­ons of dif­fer­ent names. Most of us ac­cept it and get on with our lives. Adams could­n’t stop rat­tling the bars.I’m No Scientist, But I Think Feng Shui Is Part Of The AnswerHaving failed his for­ays into busi­ness, Adams turned to re­li­gion. Not in the sense of seek­ing con­so­la­tion through God’s love. In the sense of try­ing to show how clever he was by fig­ur­ing out the true na­ture of the DivineThe re­sult was God’s Debris. This is not a good book. On some level, Adams (of course) seemed to re­al­ize this, but (of course) his self-aware­ness only made things worse. In the sec­ond-worst in­tro­duc­tion to a work of spir­i­tual wis­dom I’ve ever read (Gurdjieff keeps first place by a hair), he ex­plains that this is JUST A THOUGHT EXPERIMENT and IF YOU TAKE IT SERIOUSLY, YOU FAIL. But also, it re­ally makes you think, and it’s go­ing to blow your mind, and you’ll spend the rest of your life se­cretly won­der­ing whether it was true, but it won’t be, be­cause IT’S JUST A THOUGHT EXPERIMENT, and IF YOU TAKE IT SERIOUSLY, YOU FAIL. Later, in a Bloomberg in­ter­view, he would say that this book - and not Dilbert - would be his ultimate legacy” to the world. But re­mem­ber, IT’S JUST A THOUGHT EXPERIMENT, and IF YOU TAKE IT SERIOUSLY YOU FAIL.I read it for the first time while re­search­ing this es­say. The frame story is that a de­liv­ery boy gives a pack­age to the wis­est man in the uni­verse, who in­vites him to stay a while and dis­cuss phi­los­o­phy (REMEMBER, IT’S JUST A WORK OF FICTION! THESE ARE ONLY CHARACTERS!) Their dis­cus­sion is one-quar­ter clas­sic philo­soph­i­cal prob­lems that seemed deep when you were nine­teen, pre­sented with no ref­er­ence to any pre­vi­ous work:“There has to be a God,” I said. Otherwise, none of us would be here.” It was­n’t much of a rea­son, but I fig­ured he did­n’t need more.“Do you be­lieve God is om­nipo­tent and that peo­ple have free will?” he asked.“If God is om­nipo­tent, would­n’t he know the fu­ture?”“If God knows what the fu­ture holds, then all our choices are al­ready made, aren’t they? Free will must be an il­lu­sion.”He was clever, but I was­n’t go­ing to fall for that trap. God lets us de­ter­mine the fu­ture our­selves, us­ing our free will,” I ex­plained.“Then you be­lieve God does­n’t know the fu­ture?”“I guess not,” I ad­mit­ted. But he must pre­fer not know­ing.”There is an on­go­ing meta-dis­cus­sion among phi­los­o­phy dis­cussers of how ac­cept­able it is to pro­pose your own an­swers to the great ques­tions with­out hav­ing fully mas­tered pre­vi­ous schol­ar­ship. On the one hand, phi­los­o­phy is one of the most fun­da­men­tal hu­man ac­tiv­i­ties, gat­ing it be­hind the near-im­pos­si­ble task of hav­ing read every pre­vi­ous philoso­pher is elit­ist and gives self-ap­pointed guardians of schol­ar­ship a per­ma­nent heck­ler’s veto on any new ideas, and it can cre­ate a cul­ture so ob­sessed with cit­ing every pos­si­ble in­flu­ence that even­tu­ally the part where you have an opin­ion with­ers away and phi­los­o­phy be­comes a mean­ing­less rit­ual of pre­sent­ing ci­ta­tions with­out con­clu­sion. On the other hand, this book.An­other quar­ter is philo­soph­i­cal ques­tions which did not seem deep, even when you were nine­teen, and which no­body has ever done work on, be­cause no­body ex­cept Scott Adams ever even thought they were worth con­sid­er­ing:“Well, usu­ally it’s be­cause some im­por­tant re­li­gious event took place there.”“What does it mean to say that some­thing took place in a par­tic­u­lar lo­ca­tion when we know that the earth is con­stantly in mo­tion, ro­tat­ing on its axis and or­bit­ing the sun? And we’re in a mov­ing galaxy that is part of an ex­pand­ing uni­verse. Even if you had a space­ship and could fly any­where, you can never re­turn to the lo­ca­tion of a past event. There would be no equiv­a­lent of the past lo­ca­tion be­cause lo­ca­tion de­pends on your dis­tance from other ob­jects, and all ob­jects in the uni­verse would have moved con­sid­er­ably by then.”“I see your point, but on Earth the holy places keep their re­la­tion­ship to other things on Earth, and those things don’t move much,” I said.“Let’s say you dug up all the dirt and rocks and veg­e­ta­tion of a holy place and moved it some­place else, leav­ing noth­ing but a hole that is one mile deep in the orig­i­nal lo­ca­tion. Would the holy land now be the new lo­ca­tion where you put the dirt and rocks and veg­e­ta­tion, or the old lo­ca­tion with the hole?”“I think both would be con­sid­ered holy,” I said, hedg­ing my bets.“Sup­pose you took only the very top layer of soil and veg­e­ta­tion from the holy place, the newer stuff that blew in or grew af­ter the re­li­gious event oc­curred thou­sands of years ago. Would the place you dumped the top­soil and veg­e­ta­tion be holy?”“That’s a lit­tle trick­ier,” I said. I’ll say the new lo­ca­tion is­n’t holy be­cause the top­soil that you moved there is­n’t it­self holy, it was only in con­tact with holy land. If holy land could turn any­thing that touched it into more holy land, then the whole planet would be holy.”The old man smiled. The con­cept of lo­ca­tion is a use­ful delu­sion when ap­plied to real es­tate own­er­ship, or when giv­ing some­one di­rec­tions to the store. But when it is viewed through the eyes of an om­nipo­tent God, the con­cept of lo­ca­tion is ab­surd. While we speak, na­tions are arm­ing them­selves to fight for con­trol of lands they con­sider holy. They are trapped in the delu­sion that lo­ca­tions are real things, not just fic­tions of the mind. Many will die.”An­other quar­ter of the dis­cus­sion is the most pusil­lan­i­mous pos­si­ble sub­jec­tivism, as if Robert Anton Wilson and the 2004 film What the #$*! Do We Know!? had a kid, then stran­gled it at birth un­til it came out brain dam­aged. We get pas­sages like these: I am say­ing that UFOs, rein­car­na­tion, and God are all equal in terms of their re­al­ity.”“Do you mean equally real or equally imag­i­nary?”“Your ques­tion re­veals your bias for a bi­nary world where every­thing is ei­ther real or imag­i­nary. That dis­tinc­tion lies in your per­cep­tions, not in the uni­verse. Your in­abil­ity to see other pos­si­bil­i­ties and your lack of vo­cab­u­lary are your brain’s lim­its, not the uni­verse’s.”“There has to be a dif­fer­ence be­tween real and imag­ined things,” I coun­tered. My truck is real. The Easter Bunny is imag­ined. Those are dif­fer­ent.”“As you sit here, your truck ex­ists for you only in your mem­ory, a place in your mind. The Easter Bunny lives in the same place. They are equal.”I re­mem­ber the late 90s and early 00s; I was (regrettably) there. For some rea­son, all this stuff was con­sid­ered the height of wis­dom back then. The ac­tual Buddhist clas­sics were hard to ac­cess, but every­one as­sumed that Buddhists were wise and they prob­a­bly said, you know, some­thing like this. If you said stuff like this, you could be wise too.The fi­nal quar­ter of the book is a shock­ingly orig­i­nal take on the Lurianic kab­balah. I‘m not pleased to re­port this, and Adams likely would have been very sur­prised to learn it. Still, the re­sem­blance is un­mis­tak­able. The wis­est man in the world, charged with an­swer­ing all of the philo­soph­i­cal prob­lems that both­ered you when you were nine­teen, tells the fol­low­ing story: if God ex­ists, He must be per­fect. Therefore, the only thing he lacks is nonex­is­tence. Therefore, in or­der to fill that lack, He must de­stroy him­self in or­der to cre­ate the uni­verse. The uni­verse is com­posed of the frag­ments of that de­struc­tion - the tit­u­lar God’s Debris. Its point is to re­assem­ble it­self into God. Partially-reassembled-God is not yet fully con­scious, but there is some sort of in­stinct within His frag­ments - ie within the uni­verse - that is mo­ti­vated to help or­ches­trate the self-re­assem­bly, and it is this in­stinct which causes anti-en­tropic processes like evo­lu­tion. Good things are good be­cause they aid in the re­assem­bly of God; bad things are bad be­cause they hin­der it.Adams’ ver­sion adds sev­eral in­no­va­tions to this ba­sic story. Whatever parts of God aren’t in­volved in phys­i­cal mat­ter have be­come the laws of prob­a­bil­ity; this ex­plains the oth­er­wise in­ex­plic­a­ble evo­lu­tion­ary co­in­ci­dences that cre­ated hu­mankind. There’s some­thing about how grav­ity is pro­duced by some sort of in­ter­fer­ence be­tween dif­fer­ent di­vine cor­pus­cules - Adams ad­mits that Einstein prob­a­bly also had use­ful things to say about grav­ity, but prob­a­bly his own ver­sion amounts to the same thing, and it’s eas­ier to un­der­stand, and that makes it bet­ter (IT’S JUST A THOUGHT EXPERIMENT! IF YOU TAKE IT SERIOUSLY, YOU FAIL.) But my fa­vorite part is the aug­men­ta­tion of Luria with Nick Land: the fi­nal (or one of the fi­nal) steps in the di­vine re­assem­bly is the cre­ation of the Internet, aka God’s ner­vous sys­tem”, which will con­nect every­thing to every­thing else and give the whole sys­tem aware­ness of its di­vine pur­pose. I’m hon­estly im­pressed that a Gentile worked all of this out on his own. Adams com­pletes the per­for­mance by rein­vent­ing Kegan lev­els (this time I’m ag­nos­tic as to whether it’s con­ver­gent evo­lu­tion or sim­ple pla­gia­rism), al­though char­ac­ter­is­ti­cally it is in the most an­noy­ing way pos­si­ble:[The wise man] de­scribed what he called the five lev­els of aware­ness and said that all hu­mans ex­pe­ri­ence the first level of aware­ness at birth. That is when you first be­come aware that you ex­ist.In the sec­ond level of aware­ness you un­der­stand that other peo­ple ex­ist. You be­lieve most of what you are told by au­thor­ity fig­ures. You ac­cept the be­lief sys­tem in which you are raised.At the third level of aware­ness you rec­og­nize that hu­mans are of­ten wrong about the things they be­lieve. You feel that you might be wrong about some of your own be­liefs but you don’t know which ones. Despite your doubts, you still find com­fort in your be­liefs.The fourth level is skep­ti­cism. You be­lieve the sci­en­tific method is the best mea­sure of what is true and you be­lieve you have a good work­ing grasp of truth, thanks to sci­ence, your logic, and your senses. You are ar­ro­gant when it comes to deal­ing with peo­ple in lev­els two and three. The fifth level of aware­ness is the Avatar. The Avatar un­der­stands that the mind is an il­lu­sion gen­er­a­tor, not a win­dow to re­al­ity. The Avatar rec­og­nizes sci­ence as a be­lief sys­tem, al­beit a use­ful one. An Avatar is aware of God’s power as ex­pressed in prob­a­bil­ity and the in­evitable re­com­bi­na­tion of God con­scious­ness.I think go­ing through every David Chapman es­say and re­plac­ing the word metarationality” with THE AVATAR would ac­tu­ally be very re­fresh­ing.What are we to make of all of this?Noth­ing is more American than in­vent­ing weird cringe fu­sions of re­li­gion and athe­ism where you say that God does­n’t ex­ist as (gestures up­ward) some Big Man In The Sky the way those peo­ple be­lieve, but also, there to­tally is a God, in some com­pli­cated sense which only I un­der­stand. When Thomas Jefferson cut all the pas­sages with mir­a­cles out of his Bible, he was al­ready stand­ing on the shoul­ders of gen­er­a­tions of Unitarians, Quakers, and Latitudinarians.This was aug­mented by the va­garies of nerd cul­ture’s in­ter­sec­tion with the sci-fi fan­dom. The same peo­ple who wanted to read about space­ships and ray guns also wanted to read about psion­ics and Atlantis, so the smart sci-fi nerd con­sen­sus mor­phed into some­thing like probably all that un­ex­plained stuff is real, but has a sci­en­tific ex­pla­na­tion”. Telepathy is made up of quan­tum par­ti­cles, or what­ever (I talk about this more in my ar­ti­cle on the Shaver Mystery). It be­came a nerd rite of pas­sage to come up with your own the­ory that rec­on­ciled the spir­i­tual and the ma­te­r­ial in the most cre­ative way pos­si­ble.And the Nineties (God’s Debris was pub­lished in 2001) were a spe­cial time. The decade be­gan with the peak of Wicca and neo­pa­gan­ism. Contra cur­rent ide­o­log­i­cal fault lines, where these ten­den­cies bring up im­ages of Etsy witches, they pre­vi­ously dom­i­nated nerd cir­cles, in­clud­ing male nerds, techie nerds, and right-wing nerds (did you know Eric S. Raymond is neo­pa­gan?) By decade’s end, the clever­est (ie most an­noy­ing) nerds were switch­ing to New Atheism; through­out, smaller groups were ex­plor­ing Discordianism, chaos mag­ick, and the Subgenius. The com­mon thread was that Christianity had lost its hege­monic sta­tus, part of be­ing a clever nerd was pat­ting your­self on the back for hav­ing seen through it, but ex­actly what would re­place it was still un­cer­tain, and there was still enough piety in the wa­ter sup­ply that peo­ple were un­com­fort­able for­get­ting about re­li­gion en­tirely. You ei­ther had to make a very con­scious, marked choice to stop be­liev­ing (New Atheism), or try your hand at the task of in­vent­ing some kind of softer mid­dle ground (neopaganism, Eastern re­li­gion, var­i­ous cults, what­ever this book was sup­posed to be).It’s Obvious You Won’t Survive By Your Wits AloneAdams spent his life ob­sessed with self-help. Even more than a busi­ness­man or a prophet, he wanted to be a self-help guru. Of course he did. His par­tic­u­lar pack­age of woo - a com­bi­na­tion of hyp­no­sis, per­sua­sion hacks, and so­cial skills ad­vice - uni­fied the two great mo­tifs of his life.The­sis: I am clev­erer than every­one else.An­tithe­sis: I al­ways lose to the Pointy-Haired Boss.Synthesis: I was try­ing to be ra­tio­nal. But most peo­ple are ir­ra­tional sheep; they can be di­rected only by charis­matic ma­nip­u­la­tors who play on their bi­ases, not by ra­tio­nal per­sua­sion. But now I’m back to be­ing clev­erer than every­one else, be­cause I no­ticed this. Also, I should be­come a charis­matic ma­nip­u­la­tor.I phrased this in a max­i­mally hos­tile way, but it’s not wrong. And Adams started off strong. He read Dale Carnegie’s How To Win Friends And Influence People, widely agreed to be the clas­sic book on so­cial skills. Then, in search of even stronger per­sua­sion tech­niques, he turned to hyp­no­sis. This has a bad rep­u­ta­tion, but I ba­si­cally buy that some­thing is there. Psychiatry has leg­ends of psy­chother­a­pist-hyp­no­tists who achieved amaz­ing things, and there’s a plau­si­ble sci­en­tific story for why it might work. So when Adams claimed to be a mas­ter hyp­no­tist, I was orig­i­nally will­ing to give him the ben­e­fit of the doubt.That lasted un­til I read The Religion War, Adams’ se­quel to God’s Debris. In the in­tro, which may be lit­er­ally the most an­noy­ing pas­sage ever writ­ten in all two mil­lion years of hu­man his­tory, he dis­cusses the re­cep­tion of the orig­i­nal book:This is a se­quel to my book God’s Debris, a story about a de­liv­ery­man who chances upon the smartest per­son in the world and learns the se­crets of re­al­ity. I sub­ti­tled that book A Thought Experiment and used a va­ri­ety of hyp­no­sis tech­niques in an at­tempt to pro­duce a feel­ing of eu­phoric en­light­en­ment in the reader sim­i­lar to what the main char­ac­ter would feel while dis­cov­er­ing the (fictionally) true na­ture of re­al­ity. Reactions to the book were all over the map. About half of the peo­ple who e-mailed me said they felt var­i­ous fla­vors of eu­pho­ria, ex­panded aware­ness, con­nect­ed­ness, and other weird sen­sa­tions that de­fied de­scrip­tion. A sur­pris­ing num­ber of peo­ple re­ported read­ing the en­tire book twice in one day. So I know some­thing was hap­pen­ing.Other peo­ple wrote an­gry let­ters and scathing re­views, point­ing out the log­i­cal and fac­tual flaws in the book. It is full of flaws, and much of the sci­ence is made up, as it states in the in­tro­duc­tion. I ex­plained that the reader is sup­posed to be look­ing for flaws. That’s what makes the ex­per­i­ment work. You might think this group of read­ers skipped the in­tro­duc­tion and missed the stated point of the book, but I sus­pect that some­thing else is go­ing on. People get a kind of cog­ni­tive dis­so­nance (brain cramp) when their world­view is dis­turbed. It’s fun to watch.I pre­vi­ously felt bad for writ­ing this es­say af­ter Adams’ death; it seems kind of un­sport­ing to dis­agree with some­one who can’t re­spond. These para­graphs cured me of my mis­giv­ings: af­ter his death is by far the best time to dis­agree with Scott Adams.The book is a novel (a real novel this time, with plot and every­thing) meant to dra­ma­tize the lessons of its pre­de­ces­sor. In the near fu­ture, the Muslims and Christians are on the verge of global war. Adams’ self-in­sert char­ac­ter, the Avatar, goes around hyp­no­tiz­ing and mind hack­ing every­one into co­op­er­at­ing with his hare-brained scheme for world peace. In an early chap­ter, the Christian al­liance has cap­tured the Avatar and sent him to be tor­tured. But the Avatar mas­ter­fully de­flects the tor­tur­er’s at­ten­tion with a bit of cold read­ing, some pointed ques­tions, and a few hyp­notic sug­ges­tions:As the Avatar planned, the in­ter­roga­tor’s con­scious mind was scram­bled by the emo­tions and thoughts of the past min­utes. This brutish man, ac­cus­tomed to avoid­ing deep thoughts, had imag­ined the tini­est par­ti­cles of the uni­verse, his child­hood, and the bat­tles of the fu­ture. He had laughed, felt pain and pity, been in­tel­lec­tu­ally stim­u­lated, con­fused, as­sured, and un­cer­tain. The Avatar had chal­lenged his world­view, and it was evap­o­rat­ing, leav­ing him feel­ing empty, unim­por­tant, and pur­pose­lessIn the thrilling cli­max, which takes place at Stacey’s Cafe (yes, it’s the real-world restau­rant Adams was man­ag­ing - yes, he turned his re­li­gious-apoc­a­lyp­tic thriller novel into an ad for his restau­rant - yes, I bet he thought of this as a hypnotic sug­ges­tion”), the char­ac­ters find the Prime Influencer. She is able to come up with a short snappy slo­gan so memet­i­cally pow­er­ful that it de­feats fun­da­men­tal­ist re­li­gion and ends the war (the slo­gan is: If God is so smart, why do you fart?”). Adams’ mouth­piece char­ac­ter says:It was­n’t the wis­dom of the ques­tion that made it so pow­er­ful; philoso­phers had posed bet­ter ques­tions for aeons. It was the pack­ag­ing—the mar­ket­ing, if you will—the re­peata­bil­ity and sim­plic­ity, the tim­ing, the Zeitgeist, and in the end, the fact that every­one even­tu­ally heard it from some­one whose opin­ion they trusted.The ques­tion was short, provoca­tive, and cast in the lan­guage of in­ter­na­tional com­merce that al­most every­one un­der­stood—Eng­lish. Most im­por­tant, and gen­er­ally over­looked by his­to­ri­ans: It rhymed and it was funny. Once you heard it, you could never for­get it. It looped in the brain, gain­ing the weight and feel of truth with each rep­e­ti­tion. Human brains have a lim­ited ca­pac­ity for logic and ev­i­dence. Throughout time, rep­e­ti­tion and fre­quency were how peo­ple de­cided what was most true.This para­graph is the ab­solute cen­ter of Adams’ world­view (later ex­panded to book length sev­eral times in tomes named things like Win Bigly: Persuasion In A World Where Facts Don’t Matter). People don’t re­spond to logic and ev­i­dence, so the world is ruled by peo­ple who are good at mak­ing catchy slo­gans. Sufficiently ad­vanced slo­ga­neer­ing is in­dis­tin­guish­able from hyp­no­sis, and so when Adams has some cute turns of phrase in his pre­vi­ous book, he de­scribes it as [I] used a va­ri­ety of hyp­no­sis tech­niques in an at­tempt to pro­duce a feel­ing of eu­phoric en­light­en­ment in the reader”. This is the cringi­est way pos­si­ble to de­scribe cute turns of phrase, and turns me off from be­liev­ing any his fur­ther claims to hyp­notic mas­tery.Through­out this piece, I’ve tried to em­pha­size that Adams was usu­ally pretty self-aware. Did that in­clude the hyp­no­sis stuff? I’m not sure. I think he would have an­swered: cer­tainly some peo­ple are great charis­matic ma­nip­u­la­tors. Either their skills are magic, or they op­er­ate by some phys­i­cal law. If they op­er­ate by phys­i­cal law, they should be learn­able. Maybe I’m not quite Steve Jobs level yet, but I have to be some­where along the path to be­com­ing Steve Jobs, right? And why not de­scribe it in im­pres­sive terms? Steve Jobs would have come up with im­pres­sive-sound­ing terms for any skills he had, and you would have be­lieved him!Every few months, some group of bright nerds in San Francisco has the same idea: we’ll use our in­tel­li­gence to hack our­selves to be­come hot and hard-work­ing and charis­matic and per­sua­sive, then reap the ben­e­fits of all those things! This is such a se­duc­tive idea, there’s no rea­son what­so­ever that it should­n’t work, and every yoga stu­dio and ther­a­pist’s of­fice in the Bay Area has a lit­tle shed in the back where they keep the skulls of the last ten thou­sand bright nerds who tried this. I can’t ex­plain why it so in­vari­ably goes wrong. The best I can do is tell a story where, when you’re try­ing to do this, you’re se­lect­ing for ei­ther tech­niques that can change you, or tech­niques that can com­pellingly make you think you’ve been changed. The lat­ter are much more com­mon than the for­mer. And the most suc­cess­ful par­a­sites are al­ways those which can al­ter their host en­vi­ron­ment to be more amenable to them­selves, and if you’re a par­a­site tak­ing the form of a bad idea, that means hi­jack­ing your host’s ra­tio­nal­ity. So you’re re­ally se­lect­ing for things that are com­pelling, se­duc­tive, and dam­age your abil­ity to tell good ideas from bad ones. This is a just-so story that I have no ev­i­dence for - but se­ri­ously, go to some­one who has the words human po­ten­tial” on their busi­ness card and ask them if you can see the skull shed.But also: it’s at­trac­tive to be an ef­fort­lessly con­fi­dent al­pha male who oozes mas­culin­ity. And it’s . . . fine . . . to be a nor­mal per­son with nor­mal-per­son hangups. What you re­ally don’t want to be is a nor­mal per­son who is un­con­vinc­ingly pre­tend­ing to be a con­fi­dent al­pha male. Oh hello, nice to meet you, I came here in my Ferrari, it’s def­i­nitely not a rental, you’re hav­ing the pasta - I’m choos­ing it for you be­cause I’m so dom­i­nant - any­way, do you want to have sex when we get back? Oh, wait, I for­got to neg you, nice hair, is it fake?” In the­ory, be­com­ing a hot charis­matic per­son with great so­cial skills ought to be the same kind of task as every­thing else, where you prac­tice a lit­tle and you’re bad, but then you prac­tice more and you be­come good. But the un­canny val­ley is deep and wide, and Scott Adams was too in­vested in say­ing Ha! I just hyp­no­tized you - ha! There, did it again!” for me to trust his moun­taineer­ing skills.It all led, in­ex­orably, to Trump.In sum­mer 2015, Trump came down his es­ca­la­tor and an­nounced his pres­i­den­tial can­di­dacy. Given his comic sta­tus, his be­yond-the-pale views, and his com­pe­ti­tion with a crowded field in­clud­ing Jeb Bush and Ted Cruz, tra­di­tional me­dia wrote him off. Sure, he im­me­di­ately led in the polls, but po­lit­i­cal his­tory was full of weirdos who got brief poll bumps eigh­teen months be­fore an elec­tion only to burn out later. The pre­dic­tion mar­kets listed his chance of the nom­i­na­tion (not the Presidency!) at 5%.Which made it es­pe­cially jar­ring when, in August, Scott Adams wrote a blog post as­sert­ing that Trump had a 98% chance” of win­ning. This claim re­ceived na­tional at­ten­tion, be­cause Trump was dom­i­nat­ing the news cy­cle and Adams was ap­prox­i­mately the only per­son, any­where, who thought he had a chance. There are two ways to make his­tor­i­cally good pre­dic­tions. The first way is to be some kind of bril­liant su­per­fore­caster. Adams was­n’t this. Every big pre­dic­tion he made af­ter this one failed. Wikipedia notes that he dom­i­nated a Politico fea­ture called The Absolute Worst Political Prediction of 20XX, with the au­thors even re­mark­ing that he has man­aged to ap­pear on this an­nual roundup of the worst pre­dic­tions in pol­i­tics more than any other per­son on the planet”. His most fa­mous howler was that if Biden won in 2020, Republicans would be hunted” and his Republican read­ers would most likely be dead within a year”. But other high­lights in­clude a ma­jor pres­i­den­tial can­di­date will die of COVID, the Supreme Court will over­turn the 2024 elec­tion”, and Hillary Clinton will start a race war”.The other way to make a great pre­dic­tion is to live your en­tire life for one per­fect mo­ment - the in­vet­er­ate bear who pre­dicted twelve of the last zero re­ces­sions, but now it’s 2008 and you look like a ge­nius. By 2015, Adams had be­come a bro­ken record around one point: peo­ple are ir­ra­tional sheep who are prey for charis­matic ma­nip­u­la­tors. The pointy-haired boss al­ways wins. Trump was the pointi­est-haired per­son in the vicin­ity, and he was ob­vi­ously try­ing to charis­mat­i­cally play on peo­ple’s in­stincts while other peo­ple were do­ing com­par­a­tively nor­mal pol­i­tics. Scott Adams’ hour had ar­rived.But Adams also han­dled his time in the spot­light mas­ter­fully. He gave us terms like clown ge­nius”. I hate us­ing this, be­cause I know Scott Adams was sit­ting at his desk in his cus­tom-built Dilbert-head-shaped tower think­ing What sort of hyp­notic catchy slo­gans can I use to make my meme about Trump spread . . . aha! Clown ge­nius! That has ex­actly the right ring!” and it ab­solutely worked, and now every­one who was fol­low­ing the Internet in 2015 has the phrase clown ge­nius” etched into their brains (Adams calls these linguistic kill shots”; since I re­mem­ber that term and use it of­ten, I sup­pose linguistic kill shot” is an ex­am­ple of it­self). He went from news out­let to news out­let say­ing As a trained hyp­no­tist, I can tell you what tricks Trump is us­ing to bam­boo­zle his fol­low­ers, given that ra­tio­nal per­sua­sion is fake and mar­ket­ing tech­niques alone turn the wheels of his­tory,” and the news out­lets ate it up.You prob­a­bly thought I was mak­ing up the part where Scott Adams has a cus­tom-built tower shaped like Dilbert’s head.And some of his com­men­tary was good. He was one of the first peo­ple to point out the clas­sic Trump over­reach, where he would say some­thing like Sleepy Joe Biden let in twenty tril­lion il­le­gal im­mi­grants!” The lib­eral me­dia would take the bait and say FACT CHECK: False! - Joe Biden only let in five mil­lion il­le­gal im­mi­grants!”, and thou­sands of peo­ple who had never pre­vi­ously been ex­posed to any nar­ra­tive-threat­en­ing in­for­ma­tion would think Wait, Joe Biden let in five mil­lion il­le­gal im­mi­grants?!” Once you no­tice it, it’s hard to un­see. Adams started out by stress­ing that he was po­lit­i­cally in­de­pen­dent. He did­n’t sup­port Trump, he was just the out­side hyp­no­sis ex­pert point­ing out what Trump was do­ing. IT’S JUST A THOUGHT EXPERIMENT, IF YOU TAKE IT SERIOUSLY, YOU FAIL. Indeed, this per­son is a charis­matic ma­nip­u­la­tor hack­ing the minds of ir­ra­tional sheep” is hardly a pro-Trump take. And he lived in Pleasanton, California - a mem­ber in good stand­ing of the San Francisco met­ro­pol­i­tan area - and nice Pleasantonians sim­ply did not be­come Trump sup­port­ers in 2016.On the other hand, at some point, his in­creas­ingly overblown the­o­ries of Trump’s great­ness opened up a lit­tle wedge. The grow­ing MAGA move­ment started treat­ing him as one of their own; lib­er­als started to see him as an en­emy. His fame turned the All-Seeing Eye of so­cial me­dia upon him, that gaze which no man may meet with­out con­se­quence. Once you’re suf­fi­ciently promi­nent, pol­i­tics be­comes a sep­a­rat­ing equi­lib­rium; if you lean even slightly to one side, the other will pile on you so mas­sively and trau­mat­i­cally that it will force you into their op­po­nents’ open arms just for a shred of psy­cho­log­i­cal se­cu­rity.As he had done so many other times dur­ing his life, he re­solved the con­flict in the dumb­est, cringi­est, and most pub­lic way pos­si­ble: a June 2016 blog post an­nounc­ing that he was en­dors­ing Hillary Clinton, for his own safety, be­cause he sus­pected he would be tar­geted for as­sas­si­na­tion if he did­n’t:This past week we saw Clinton pair the idea of President Trump with nu­clear dis­as­ter, racism, Hitler, the Holocaust, and what­ever else makes you trem­ble in fear. That is good per­sua­sion if you can pull it off be­cause fear is a strong mo­ti­va­tor. It is also a sharp pivot from Clinton’s prior ap­proach of talk­ing about her mas­tery of pol­icy de­tails, her ex­pe­ri­ence, and her gen­der. Trump took her so-called woman card” and turned it into a li­a­bil­ity. So Clinton wisely piv­oted. Her new scare tac­tics are solid-gold per­sua­sion. I would­n’t be sur­prised if you see Clinton’s num­bers ver­sus Trump im­prove in June, at least tem­porar­ily, un­til Trump finds a counter-move.The only down­side I can see to the new ap­proach is that it is likely to trig­ger a race war in the United States. And I would be a top-ten as­sas­si­na­tion tar­get in that sce­nario […]So I’ve de­cided to en­dorse Hillary Clinton for President, for my per­sonal safety. Trump sup­port­ers don’t have any bad feel­ings about pa­tri­otic Americans such as my­self, so I’ll be safe from that crowd. But Clinton sup­port­ers have con­vinced me — and here I am be­ing 100% se­ri­ous — that my safety is at risk if I am seen as sup­port­ive of Trump. So I’m tak­ing the safe way out and en­dors­ing Hillary Clinton for pres­i­dent.As I have of­ten said, I have no psy­chic pow­ers and I don’t know which can­di­date would be the best pres­i­dent. But I do know which out­come is most likely to get me killed by my fel­low cit­i­zens. So for safety rea­son, I’m on team Clinton.My pre­dic­tion re­mains that Trump will win in a land­slide based on his su­pe­rior per­sua­sion skills. But don’t blame me for any­thing President Trump does in of­fice be­cause I en­dorse Clinton.This some­how failed to be a mas­ter­stroke of hyp­notic ma­nip­u­la­tion that left both sides pla­cated. But it was fine, be­cause Trump won any­way! In the New Right’s wave of ex­ul­ta­tion, all was for­given, and the first high-pro­file fig­ure to bet on Trump be­came a lo­cal hero and con­firmed prophet. Never mind that Adams had pre­dicted Trump would win by one of the biggest mar­gins we’ve seen in re­cent his­tory” when in fact he lost the pop­u­lar vote. The man who had dreamed all his life of be­ing re­spected for some­thing other than car­toon­ing had fi­nally made it.Ob­vi­ously, it de­stroyed him.At first, I won­dered if Adams’ right-wing turn was a cal­cu­lated manuever. He’d al­ways longed to be a ma­nip­u­la­tor of lesser hu­mans, and had fi­nally achieved slightly-above-zero skill at it. Wouldn’t it fit his per­son­al­ity to see the right-wingers as dumb sheep, and him­self as the clever Dogbert-style scam­mer who could profit off them? Did he re­ally be­lieve (as he claimed) that he was at risk of be­ing as­sas­si­nated by left-wing rad­i­cals who could­n’t han­dle his level of in­sight into Trump’s ge­nius? Or was this just an­other hyp­notic sug­ges­tion, ret­ro­spec­tively jus­ti­fied in­so­far as we’re still talk­ing about it ten years later and all pub­lic­ity is good pub­lic­ity?But I don’t think he did it cyn­i­cally. At the turn of the mil­len­nium, the ob­sessed-with-their-own-clev­er­ness de­mo­graphic leaned firmly lib­eral: smug New Atheists, hard­line skep­tics, mem­bers of the reality-based com­mu­nity”. But in the 2010s, lib­er­al­ism be­came the de­fault, the pub­lic switched to ex­per­to­la­try, dumb peo­ple’s or­tho­dox­ies about race and gen­der be­came eas­ier and more fun to punc­ture than dumb peo­ple’s or­tho­dox­ies about re­li­gion - and the O.W.T.O.C.s lurched right. Adams was borne along by the tide. With enough time, ded­i­ca­tion, and archive ac­cess, you can hop from Dilbert comic to Dilbert comic, trac­ing the ex­act con­tours of his po­lit­i­cal jour­ney.There’s a pas­sage in the in­tro to one of Adams books where he says that, given how he’s go­ing to blow your mind and to­tally punc­ture every­thing you pre­vi­ously be­lieved, per­haps the work is un­suit­able for peo­ple above fifty-five, whose brains are com­par­a­tively scle­rotic and might shat­ter at the strain. This is how I feel about post-2016 pol­i­tics. Young peo­ple were mostly able to weather the dam­age. As for older peo­ple, I have seen pub­lic in­tel­lec­tual af­ter pub­lic in­tel­lec­tual who I pre­vi­ously re­spected have their brains turn to pud­dles of par­ti­san-fla­vored mush. Jordan Peterson, Ken White, Curtis Yarvin, Paul Krugman, Elon Musk, the Weinsteins, [various peo­ple close enough to me that it would be im­po­lite to name them here]. Once, these peo­ple were li­ons of in­sight­ful de­bate. Where now are the horse and the rider? Where is the horn that was blow­ing? Adams was 58 when Trump changed every­thing. In 2001, age 44, he’d found the fail­ure of his Dilberito funny. But in an­other in­ter­view, at age 50, he sug­gested that maybe his com­peti­tors had formed teams to sneak into su­per­mar­kets and hide them in the back of the shelves. Being trag­i­cally flawed yet also self-aware enough to laugh about it is a young man’s game. In 2024, di­ag­nosed with ter­mi­nal can­cer, Adams de­cided to treat it via iver­mectin, ac­cord­ing to a pro­to­col rec­om­mended by fel­low right-wing con­trar­ian Dr. William Makis. This does­n’t seem to me like a story about a cynic milk­ing right-wingers for the grift. It sounds like a true be­liever. Scott Adams, the man too clever and in­de­pen­dent to join any po­lit­i­cal ten­dency, who had sworn to al­ways be the mas­ter ma­nip­u­la­tor stand­ing above the fray rather than a sheep with or­di­nary ob­ject-level opin­ions - had fi­nally suc­cumbed to sin­cere be­lief.It’s Not Funny If I Have To Explain ItEvery child is hy­po­manic, con­vinced of their own spe­cial­ness. Even most teenagers still sus­pect that, if every­thing went right, they could change the world.It’s not just nerds. Everyone has to crash into re­al­ity. The gui­tar player who starts a garage band in or­der to be­come a rock­star. The var­sity ath­lete who wants to make the big leagues. They all even­tu­ally re­al­ize, no, I’m mediocre. Even the ones who aren’t mediocre, the ones with some spe­cial tal­ent, only have one spe­cial tal­ent (let’s say car­toon­ing) and no more.I don’t know how the mu­si­cians and ath­letes cope. I hear sto­ries about washed-up al­co­holic for­mer high school quar­ter­backs for­ever telling their girl­friends about how if Coach had only put them in for the last quar­ter dur­ing the big game, things would have gone dif­fer­ently. But since most writ­ers are nerds, it’s the nerds who dom­i­nate the dis­cus­sion, so much so that the whole af­fair gets dubbed Former Gifted Kid Syndrome”.Every nerd who was the smartest kid in their high school goes to an ap­pro­pri­ately-ranked col­lege and re­al­izes they’re noth­ing spe­cial. But also, once they go into some spe­cific field they find that in­tel­lect, as ver­sa­tile as it is, can only take them so far. And for some­one who was told their whole child­hood that they were go­ing to cure can­cer (alas, a real quote from my el­e­men­tary school teacher), it’s a tough pill to swal­low.Re­ac­tion for­ma­tion, where you re­place a un­bear­able feel­ing with its ex­act op­po­site, is one of the all time great Freudian de­fense mech­a­nisms. You may re­mem­ber it from such clas­sics as rape vic­tims fall in love with their rapist” or secretly gay peo­ple be­come re­ally ho­mo­pho­bic”. So some per­cent of washed-up gifted kids com­pen­sate by re­ally, re­ally hat­ing nerdi­ness, ra­tio­nal­ity, and the in­tel­lect.The va­ri­ety of self-hat­ing nerd are too many to num­ber. There are the nerds who go into psy­chol­ogy to prove that EQ is a real thing and IQ merely its pale pa­thetic shadow. There are the nerds who be­come su­per-woke and talk about how rea­son and ob­jec­tiv­ity are forms of white su­premacy cul­ture. There are the nerds who ob­sess over embodiment” and somatic ther­apy” and ac­cuse every­one else of living in their heads”. There are the nerds who de­flect by be­com­ing re­ally into neu­ro­di­ver­sity - the in­ter­est­ing thing about my brain is­n’t that I’m smart’ or rational’, it’s that I’m ADHDtistic, which is ac­tu­ally a weak­ness . . . but also se­cretly a strength!” There are the nerds who flirt with fas­cism be­cause it idol­izes men of ac­tion, and the nerds who con­vert to Christianity be­cause it idol­izes men of faith. There are the nerds who get re­ally into Seeing Like A State, and how be­ing into ra­tio­nal­ity and met­rics and num­bers is soooooo High Modernist, but as a Kegan Level Five Avatar they are far be­yond such petty con­cerns. There are the nerds who re­de­fine nerd” as person who likes Marvel movies” - hav­ing suc­cess­fully ger­ry­man­dered them­selves out­side the cat­e­gory, they can go back to their im­pec­ca­bly-ac­cu­rate sta­tis­tics­blog­ging on ed­u­ca­tional out­comes, or their deep dives into an­thro­pol­ogy and me­dieval mys­ti­cism, all while cast­ing about them im­pre­ca­tions that of course nerds are loath­some scum who de­serve to be bul­lied.(maybe it’s un­fair to at­tribute this to self-ha­tred per se. Adams wrote, not un­fairly, that the sci­en­tismists in Kegan level 4 are ar­ro­gant when it comes to deal­ing with peo­ple in lev­els two and three.” Maybe there’s the same des­per­ate urge for level 5 to dif­fer­en­ti­ate them­selves from 4s - cf. bar­ber­pole the­ory of fash­ion).Scott Adams felt the con­tra­dic­tions of nerd-dom more acutely than most. As com­pen­sa­tion, he was gifted with two great de­fense mech­a­nisms. The first was hu­mor (which Freud grouped among the ma­ture, adap­tive de­fenses), aided by its hand­maiden self-aware­ness. The sec­ond (from Freud’s neurotic” cat­e­gory) was his own par­tic­u­lar va­ri­ety of re­ac­tion for­ma­tion, I’m bet­ter than those other nerds be­cause, while they fool­ishly wor­ship ra­tio­nal­ity and the in­tel­lect, I’ve got­ten past it to the real deal, mar­ket­ing / ma­nip­u­la­tion / per­sua­sion / hyp­no­sis.” When he was young, and his mind sup­ple, he was able to bal­ance both these mech­a­nisms; the steam of their dis­so­nance drove the tur­bine of his art. As he grew older, the first one - es­pe­cially the self-aware­ness - started to fail, and he leaned in­creas­ingly heav­ily on the sec­ond. Forced to bear the en­tire weight of his wounded psy­che, it started show­ing more and more cracks, un­til even­tu­ally he ended up as a pod­caster - the surest sign of a de­ranged mind. In com­par­i­son, his fi­nal down­fall was al­most triv­ial - a bog-stan­dard can­cel­la­tion, in­dis­tin­guish­able from every other can­cel­la­tion of the 2015 - 2025 pe­riod. Angered by a poll where some black peo­ple ex­pressed dis­com­fort with the slo­gan It’s Okay To Be White”, Adams de­clared that the best ad­vice I would give to white peo­ple is to get the hell away from black peo­ple; just get the fuck away”. Needless to say, his pub­lisher, syn­di­ca­tor, and ba­si­cally every news­pa­per in the coun­try dropped him im­me­di­ately. He re­launched his comics on Locals, an on­line sub­scrip­tion plat­form for can­celled peo­ple, but his reach had de­clined by two or­ders of mag­ni­tude and never re­cov­ered.Adams was will­ing to sac­ri­fice every­thing for the right to say It’s Okay To Be White”. I can’t help won­der­ing what his life would have been like if he’d been equally will­ing to as­sert the okay­ness of the rest of his iden­tity.Dil­bert’s Guide to the Rest of Your LifePartly this is be­cause we’re too sim­i­lar for me to hate him with­out hat­ing my­self. You’re a bald guy with glasses named Scott A who lives in the San Francisco Bay Area. You think you’re pretty clever, but the world has a way of re­mind­ing you of your lim­i­ta­tions. You try to work a nor­mal job. You do a lit­tle funny writ­ing on the side. People like the funny writ­ing more than you ex­pected. Hardly be­liev­ing your luck, you quit to do the funny writ­ing full time. You ex­plore themes about the ir­ra­tional­ity of the world. You have some crazy ideas you’re not en­tirely will­ing to stand be­hind, and pre­sent them as fic­tion or spec­u­la­tion or April Fools jokes. You al­ways won­der whether your pur­pose in life is re­ally just funny writ­ing - not be­cause peo­ple don’t love the stuff you write, not even be­cause you don’t get fan mail say­ing you some­how mys­te­ri­ously changed peo­ple’s lives, but just be­cause it seems less se­ri­ous than be­ing a ti­tan of in­dus­try or some­thing. You try some other things. They don’t go ter­ri­bly, but they don’t go great ei­ther. You de­cide to stick with what you’re good at. You write a book about the Lurianic kab­balah. You get re­ally into whale puns.As we pass through life, some­times God shows us dopple­gangers, bright or dark mir­rors of our­selves, glimpses of how we might turn out if we zig or zag on the path ahead. Some of these peo­ple are meant as shin­ing in­spi­ra­tions, oth­ers as ter­ri­ble warn­ings, but they’re all our teach­ers. Adams was my teacher in a more lit­eral way too. He pub­lished sev­eral an­no­tated col­lec­tions, books where he would pre­sent comics along with an ex­pla­na­tion of ex­actly what he was do­ing in each place, why some things were funny and oth­ers weren’t, and how you could one day be as funny as him. Ten year old Scott de­voured these. I’ve al­ways tried to hide my power level as a hu­morist, lest I get pegged as a comedic au­thor and peo­ple stop tak­ing me se­ri­ously. But ob­jec­tively my joke posts get the most likes and retweets of any­thing I write, and I owe much of my skill in the genre to cram­ming Adams’ ad­vice into a mal­leable im­ma­ture brain. There’s a di­rect line be­tween Dogbert’s crazy schemes and the startup ideas in a typ­i­cal Bay Area House Party post.The Talmud tells the story of the death of Rabbi Elisha. Elisha was an evil apos­tate. His for­mer stu­dent, Rabbi Meir, who stayed good and or­tho­dox, in­sisted that Rabbi Elisha prob­a­bly went to Heaven. This was never very plau­si­ble, and God sent in­creas­ingly ob­vi­ous signs to the con­trary, in­clud­ing a boom­ing voice from Heaven say­ing that Elisha was not saved. Out of loy­alty to his ex-teacher, Meir dis­missed them all - that voice was prob­a­bly just some kind of 4D chess move - and in­sisted that Elisha had a share in the World To Come. Out of the same doomed loy­alty as Rabbi Meir, I want to be­lieve Scott Adams went to Heaven. There is what at first ap­pears to be promis­ing ev­i­dence - in his fi­nal mes­sage to his fans, Adams said:Many Christian friends have asked me to find Jesus be­fore I go. I’m not a be­liever, but I have to ad­mit the risk-re­ward cal­cu­la­tion for do­ing so looks at­trac­tive. So here I go: I ac­cept Jesus Christ as my lord and sav­ior, and I like for­ward to spend­ing an eter­nity with him. The part about me not be­ing a be­liever should be quickly re­solved if I wake up in heaven. I won’t need any more con­vinc­ing than that. And I hope I am still qual­i­fied for en­try.It is a dogma of many re­li­gions that sin­cere deathbed con­ver­sions are ac­cepted. But I’d be more com­fort­able if this sounded less like haha, I found my fi­nal clever life­hack”. I can only hope he did­n’t try to im­plant any hyp­notic sug­ges­tions in an at­tempt to get a lin­guis­tic kill shot in on the Almighty. As an­other self-hat­ing nerd writer put it, through all these years I make ex­per­i­ment if my sins or Your mercy greater be.”But I’m more en­cour­aged by the sec­ond half of his de­part­ing note:For the first part of my life, I was fo­cused on mak­ing my­self a wor­thy hus­band and par­ent, as a way to find mean­ing. That worked. But mar­riages don’t al­ways last for­ever, and mine even­tu­ally ended, in a highly am­i­ca­ble way. I’m grate­ful for those years and for the peo­ple I came to call my fam­ily.

Once the mar­riage un­wound, I needed a new fo­cus. A new mean­ing. And so I do­nated my­self to the world,” lit­er­ally speak­ing the words out loud in my oth­er­wise silent home. From that point on, I looked for ways I could add the most to peo­ple’s lives, one way or an­other.

That marked the start of my evo­lu­tion from Dilbert car­toon­ist to an au­thor of - what I hoped would be - use­ful books. By then, I be­lieved I had con­densed enough life lessons that I could start pass­ing them on. I con­tin­ued mak­ing Dilbert comics, of course.

As luck would have it, I’m a good writer. My first book in the useful” genre was How to Fail at Almost Everything and Still Win Big. That book turned out to be a huge suc­cess, of­ten im­i­tated, and in­flu­enc­ing a wide va­ri­ety of peo­ple. I still hear every day how much that book changed lives. My plan to be use­ful was work­ing.

I fol­lowed up with my book Win Bigly, that trained an army of cit­i­zens how to be more per­sua­sive, which they cor­rectly saw as a mi­nor su­per power. I know that book changed lives be­cause I hear it of­ten.

You’ll prob­a­bly never know the im­pact the book had on the world, but I know, and it pleases me while giv­ing me a sense of mean­ing that is im­pos­si­ble to de­scribe.

My next book, Loserthink, tried to teach peo­ple how to think bet­ter, es­pe­cially if they were dis­play­ing their think­ing on so­cial me­dia. That one did­n’t put much of a dent in the uni­verse, but I tried.

Finally, my book Reframe Your Brain taught read­ers how to pro­gram their own thoughts to make their per­sonal and pro­fes­sional lives bet­ter. I was sur­prised and de­lighted at how much pos­i­tive im­pact that book is hav­ing.

I also started pod­cast­ing a live show called Coffee With Scott Adams, ded­i­cated to help­ing peo­ple think about the world, and their lives, in a more pro­duc­tive way. I did­n’t plan it this way, but it ended up help­ing lots of lonely peo­ple find a com­mu­nity that made them feel less lonely. Again, that had great mean­ing for me.

I had an amaz­ing life. I gave it every­thing I had. If you got any ben­e­fits from my work, I’m ask­ing you to pay it for­ward as best you can. That is the legacy I want.And please know I loved you all to the end.I had been vaguely aware that he had some com­mu­nity around him, but on the event of his death, I tried watch­ing an episode or two of his show. I could­n’t en­tirely fol­low, but I think his var­i­ous sub-shows are get­ting rolled into a broader brand, The Scott Adams School, where his acolytes dis­cuss and teach his the­ory of per­sua­sion:The woman on the top left is his ex-wife. Even though they’ve been di­vorced for twelve years, they never aban­doned each other. All the other faces are peo­ple who found Adams rev­e­la­tory and are choos­ing to con­tinue his in­tel­lec­tual tra­di­tion. And in the com­ments - thir­teen thou­sand of them - are other peo­ple who loved Adams. Some watch every episode of his pod­cast and con­sider him a ge­nius. Others were touched in more sub­tle ways. People who wrote him with their prob­lems and he re­sponded. People who met him on the street and de­manded the typ­i­cal fa­mous per­son pose for a photo with me”, and he did so gra­ciously. People who said his self-help books re­ally helped them. People who just used Dilbert to stay sane through their cu­bi­cle jobs. Adams is easy and fun to mock - as is every­one who lives their life uniquely and un­apolo­get­i­cally. I’ve had a good time psy­cho­an­a­lyz­ing him, but every­one does what­ever they do for psy­cho­log­i­cal rea­sons, and some peo­ple end up do­ing good. Though I can’t en­dorse ei­ther Adams’ pol­i­tics or his per­sua­sive meth­ods, every­thing is a com­bi­na­tion of it­self and an at­tempt to build a com­mu­nity. And what­ever the value of his ideas, the com­mu­nity seems real and lov­ing.And I’m se­ri­ous when I say I con­sider Adams a teacher. For me, he was the sort of teacher who shows you what to avoid; for many oth­ers, he was the type who serves as in­spi­ra­tion. These roles aren’t quite op­po­sites - they’re both down­stream of a man who blazed his own path, and who recorded every step he took, with un­usual grace and hu­mor, as doc­u­men­ta­tion for those who would face a choice of whether or not to fol­low. This was­n’t a co­in­ci­dence, but the con­scious and wor­thy pro­ject of his life. Just for to­day, I’ll con­sider my­self part of the same stu­dent body as all the other Adams fans, and join my fel­lows in trib­ute to our fallen in­struc­tor. I hope he gets his lin­guis­tic kill shot in on God and squeaks through the Pearly Gates.

...

Read the original on www.astralcodexten.com »

3 448 shares, 51 trendiness

Héliographe (@heliographe.studio) on Threads

...

Read the original on www.threads.com »

4 448 shares, 34 trendiness

Héliographe (@heliographe_studio@mastodon.social)

To use the Mastodon web ap­pli­ca­tion, please en­able JavaScript. Alternatively, try one of the na­tive apps for Mastodon for your plat­form.

...

Read the original on mastodon.social »

5 440 shares, 25 trendiness

AI Plays Rollercoaster Tycoon

...

Read the original on labs.ramp.com »

6 422 shares, 23 trendiness

Why We've Tried to Replace Developers Every Decade Since 1969

When Neil Armstrong stepped onto the lu­nar sur­face in 1969, the world wit­nessed what or­ga­nized hu­man in­ge­nu­ity could ac­com­plish. Behind that achieve­ment stood Margaret Hamilton and her team, writ­ing Apollo’s guid­ance soft­ware by hand, catch­ing crit­i­cal er­rors through care­ful re­view, and prov­ing that soft­ware could be mis­sion-crit­i­cal.

The Apollo pro­gram demon­strated that soft­ware de­vel­op­ment was es­sen­tial to achiev­ing the im­pos­si­ble. Yet it also re­vealed some­thing that would frus­trate busi­ness lead­ers for decades to come: writ­ing soft­ware re­quired spe­cial­ized knowl­edge, in­tense fo­cus, and sig­nif­i­cant time in­vest­ment. The dream of mak­ing it eas­ier—of need­ing fewer of these ex­pen­sive spe­cial­ists—be­gan al­most im­me­di­ately.

The late 1960s and 1970s saw COBOL emerge with an ex­plicit goal stated in its name: Common Business-Oriented Language. The vi­sion was clear: make the lan­guage read like English sen­tences, and busi­ness an­a­lysts would write their own pro­grams. No need for spe­cial­ized pro­gram­mers.

This vi­sion had gen­uine ap­peal. Software was be­com­ing es­sen­tial to busi­ness op­er­a­tions, yet pro­gram­mers re­mained a scarce, ex­pen­sive re­source. COBOL promised to de­moc­ra­tize soft­ware cre­ation.

What hap­pened in­stead? COBOL be­came an­other pro­gram­ming lan­guage re­quir­ing spe­cial­ized train­ing. Business an­a­lysts who tried to write COBOL quickly dis­cov­ered that read­able syn­tax did­n’t elim­i­nate the com­plex­ity of logic, data struc­tures, or sys­tem de­sign. A new class of COBOL pro­gram­mers emerged, and the dream of elim­i­nat­ing spe­cial­ized de­vel­op­ers re­mained un­ful­filled.

Yet the dream did­n’t die. It sim­ply waited for the next tech­no­log­i­cal wave.

Computer-Aided Software Engineering tools ar­rived in the 1980s with tremen­dous promise. Draw flow­charts and en­tity-re­la­tion­ship di­a­grams, and the tool would gen­er­ate work­ing code. The mar­ket­ing mes­sage res­onated: vi­sual de­sign was more in­tu­itive than typ­ing cryp­tic com­mands. Business ex­perts could model their processes, and soft­ware would ma­te­ri­al­ize.

Organizations in­vested heav­ily. Vendors promised pro­duc­tiv­ity in­creases of 10x or more. Yet most CASE tool ini­tia­tives strug­gled or failed out­right.

The gen­er­ated code of­ten re­quired sub­stan­tial man­ual in­ter­ven­tion. Performance prob­lems emerged. Maintenance be­came a night­mare when gen­er­ated code di­verged from the vi­sual mod­els. Most crit­i­cally, draw­ing ac­cu­rate di­a­grams re­quired un­der­stand­ing the same log­i­cal com­plex­ity that pro­gram­ming de­manded. The tool changed the in­ter­face but not the fun­da­men­tal chal­lenge.

Once again, the prob­lem proved more stub­born than the so­lu­tion.

The 1990s brought a dif­fer­ent ap­proach. Microsoft’s Visual Basic and Borland’s Delphi made build­ing user in­ter­faces dra­mat­i­cally eas­ier. Drag com­po­nents onto a form, set prop­er­ties, write event han­dlers. Suddenly, cre­at­ing a Windows ap­pli­ca­tion felt achiev­able for de­vel­op­ers with mod­est ex­pe­ri­ence.

This wave suc­ceeded dif­fer­ently than COBOL or CASE tools. These en­vi­ron­ments ac­knowl­edged that pro­gram­ming knowl­edge was still nec­es­sary, but they re­duced the bar­rier to en­try. A broader range of peo­ple could cre­ate use­ful ap­pli­ca­tions.

Yet the dream of elim­i­nat­ing de­vel­op­ers per­sisted. Power users” and citizen de­vel­op­ers” would build de­part­men­tal ap­pli­ca­tions. IT de­part­ments could fo­cus on in­fra­struc­ture while busi­ness units solved their own soft­ware needs.

Reality proved more nu­anced. Simple ap­pli­ca­tions were in­deed ac­ces­si­ble to more peo­ple. But as re­quire­ments grew in com­plex­ity—in­te­gra­tion with ex­ist­ing sys­tems, se­cu­rity con­sid­er­a­tions, per­for­mance un­der load, long-term main­te­nance—the need for ex­pe­ri­enced de­vel­op­ers be­came ev­i­dent. The tools ex­panded who could write soft­ware, but they did­n’t elim­i­nate the ex­per­tise re­quired for sub­stan­tial sys­tems.

And so the cy­cle con­tin­ued into the new mil­len­nium.

Each sub­se­quent decade in­tro­duced new vari­a­tions. Ruby on Rails promised con­ven­tion over con­fig­u­ra­tion. Low-code plat­forms of­fered vi­sual de­vel­op­ment with min­i­mal cod­ing. No-code plat­forms claimed to elim­i­nate pro­gram­ming en­tirely for com­mon busi­ness ap­pli­ca­tions.

Each wave de­liv­ered real value. Development gen­uinely be­came faster in spe­cific con­texts. More peo­ple could par­tic­i­pate in cre­at­ing soft­ware so­lu­tions. Yet pro­fes­sional soft­ware de­vel­op­ers re­mained es­sen­tial, and de­mand for their skills con­tin­ued grow­ing rather than shrink­ing.

Which brings us to the ques­tion: why does this pat­tern re­peat?

The re­cur­ring pat­tern re­veals some­thing im­por­tant about how we think about com­plex­ity. Software de­vel­op­ment looks like it should be sim­ple be­cause we can de­scribe what we want in plain lan­guage. When a cus­tomer places an or­der, check in­ven­tory, cal­cu­late ship­ping, process pay­ment, and send a con­fir­ma­tion email.” That de­scrip­tion sounds straight­for­ward.

The com­plex­ity emerges in the de­tails. What hap­pens when in­ven­tory is tem­porar­ily re­served by an­other or­der? How do you han­dle par­tial pay­ments? What if the email ser­vice is tem­porar­ily un­avail­able? Should you retry? How many times? What if the cus­tomer’s ses­sion ex­pires dur­ing check­out? How do you pre­vent du­pli­cate or­ders?

Each an­swer leads to more ques­tions. The ac­cu­mu­lated de­ci­sions, edge cases, and in­ter­ac­tions cre­ate gen­uine com­plex­ity that no tool or lan­guage can elim­i­nate. Someone must think through these sce­nar­ios. That think­ing is soft­ware de­vel­op­ment, re­gard­less of whether it’s ex­pressed in COBOL, a CASE tool di­a­gram, Visual Basic, or an AI prompt.

Which brings us to to­day’s ex­cite­ment.

Today’s AI cod­ing as­sis­tants rep­re­sent the most ca­pa­ble at­tempt yet to as­sist with soft­ware cre­ation. They can gen­er­ate sub­stan­tial amounts of work­ing code from nat­ural lan­guage de­scrip­tions. They can ex­plain ex­ist­ing code, sug­gest im­prove­ments, and help de­bug prob­lems.

This rep­re­sents gen­uine progress. The as­sis­tance is real and valu­able. Experienced de­vel­op­ers use these tools to work more ef­fi­ciently. People learn­ing to code find the in­ter­ac­tive guid­ance help­ful.

Yet we’re al­ready see­ing the fa­mil­iar pat­tern emerge. Initial ex­cite­ment about AI re­plac­ing de­vel­op­ers is giv­ing way to a more nu­anced un­der­stand­ing: AI changes how de­vel­op­ers work rather than elim­i­nat­ing the need for their judg­ment. The com­plex­ity re­mains. Someone must un­der­stand the busi­ness prob­lem, eval­u­ate whether the gen­er­ated code solves it cor­rectly, con­sider se­cu­rity im­pli­ca­tions, en­sure it in­te­grates prop­erly with ex­ist­ing sys­tems, and main­tain it as re­quire­ments evolve.

AI am­pli­fies de­vel­oper ca­pa­bil­ity. It does­n’t re­place the need for peo­ple who un­der­stand both the prob­lem do­main and the tech­ni­cal land­scape.

Here’s the para­dox that makes this pat­tern par­tic­u­larly poignant. We’ve made ex­tra­or­di­nary progress in soft­ware ca­pa­bil­i­ties. The Apollo guid­ance com­puter had 4KB of RAM. Your smart­phone has mil­lions of times more com­put­ing power. We’ve built tools and frame­works that gen­uinely make many as­pects of de­vel­op­ment eas­ier.

Yet de­mand for soft­ware far ex­ceeds our abil­ity to cre­ate it. Every or­ga­ni­za­tion needs more soft­ware than it can build. The back­log of de­sired fea­tures and new ini­tia­tives grows faster than de­vel­op­ment teams can ad­dress it.

This ten­sion—pow­er­ful tools yet in­suf­fi­cient ca­pac­ity—keeps the dream alive. Business lead­ers look at the back­log and think, There must be a way to go faster, to en­able more peo­ple to con­tribute.” That’s a rea­son­able thought. It leads nat­u­rally to en­thu­si­asm for any tool or ap­proach that promises to de­moc­ra­tize soft­ware cre­ation.

The chal­lenge is that soft­ware de­vel­op­ment is­n’t pri­mar­ily con­strained by typ­ing speed or syn­tax knowl­edge. It’s con­strained by the think­ing re­quired to han­dle com­plex­ity well. Faster typ­ing does­n’t help when you’re think­ing through how to han­dle con­cur­rent data­base up­dates. Simpler syn­tax does­n’t help when you’re rea­son­ing about se­cu­rity im­pli­ca­tions.

So what should lead­ers do with this un­der­stand­ing?

Understanding this pat­tern changes how you eval­u­ate new tools and ap­proaches. When some­one promises that their plat­form will let busi­ness users build ap­pli­ca­tions with­out de­vel­op­ers, you can ap­pre­ci­ate the as­pi­ra­tion while main­tain­ing re­al­is­tic ex­pec­ta­tions.

The right ques­tion is­n’t Will this elim­i­nate our need for de­vel­op­ers?” The right ques­tions are:

* Will this help our de­vel­op­ers work more ef­fec­tively on com­plex prob­lems?

* Will this en­able us to build cer­tain types of so­lu­tions faster?

* Does this re­duce time spent on repet­i­tive tasks so de­vel­op­ers can fo­cus on unique chal­lenges?

* Will our team need to learn new skills to use this ef­fec­tively?

These ques­tions ac­knowl­edge that de­vel­op­ment in­volves ir­re­ducible com­plex­ity while re­main­ing open to tools that pro­vide gen­uine lever­age.

And they point to some­thing deeper about the na­ture of soft­ware work.

This fifty-year pat­tern teaches us some­thing fun­da­men­tal about soft­ware de­vel­op­ment it­self. If the prob­lem were pri­mar­ily me­chan­i­cal—too much typ­ing, too com­plex syn­tax, too many steps—we would have solved it by now. COBOL made syn­tax read­able. CASE tools elim­i­nated typ­ing. Visual tools elim­i­nated syn­tax. AI can now gen­er­ate en­tire func­tions from de­scrip­tions.

Each ad­vance­ment ad­dressed a real fric­tion point. Yet the fun­da­men­tal chal­lenge per­sists be­cause it’s not me­chan­i­cal. It’s in­tel­lec­tual. Software de­vel­op­ment is think­ing made tan­gi­ble. The ar­ti­facts we cre­ate—whether COBOL pro­grams, Delphi forms, or Python scripts—are the vis­i­ble out­come of in­vis­i­ble rea­son­ing about com­plex­ity.

You can’t short­cut that rea­son­ing any more than you can short­cut the rea­son­ing re­quired to de­sign a build­ing or di­ag­nose a med­ical con­di­tion. Better tools help. Experience helps. But some­one must still think it through.

So how should we move for­ward, know­ing all this?

The next wave of de­vel­op­ment tools will ar­rive. Some will pro­vide gen­uine value. Some will re­peat fa­mil­iar promises with new tech­nol­ogy. Having per­spec­tive on this re­cur­ring pat­tern helps you en­gage with new tools pro­duc­tively.

Use AI as­sis­tants. Evaluate low-code plat­forms. Experiment with new frame­works. But in­vest pri­mar­ily in your peo­ple’s abil­ity to think clearly about com­plex­ity. That ca­pa­bil­ity re­mains the con­strain­ing fac­tor, just as it was dur­ing the Apollo pro­gram.

The moon land­ing hap­pened be­cause bril­liant peo­ple thought care­fully about every de­tail of an ex­tra­or­di­nar­ily com­plex chal­lenge. They wrote soft­ware by hand be­cause that was the avail­able tool. If they’d had bet­ter tools, they would have used them gladly. But the tools would­n’t have elim­i­nated their need to think through the com­plex­ity.

We’re still in that same fun­da­men­tal sit­u­a­tion. We have bet­ter tools—vastly bet­ter tools—but the think­ing re­mains es­sen­tial.

Perhaps the re­cur­ring dream of re­plac­ing de­vel­op­ers is­n’t a mis­take. Perhaps it’s a nec­es­sary op­ti­mism that dri­ves tool cre­ation. Each at­tempt to make de­vel­op­ment more ac­ces­si­ble pro­duces tools that gen­uinely help. The dream does­n’t come true as imag­ined, but pur­su­ing it cre­ates value.

COBOL did­n’t let busi­ness an­a­lysts write pro­grams, but it did en­able a gen­er­a­tion of de­vel­op­ers to build busi­ness sys­tems ef­fec­tively. CASE tools did­n’t gen­er­ate com­plete ap­pli­ca­tions, but they ad­vanced our think­ing about vi­sual mod­el­ing. Visual Basic did­n’t elim­i­nate pro­fes­sional de­vel­op­ers, but it brought ap­pli­ca­tion de­vel­op­ment to more peo­ple. AI won’t re­place de­vel­op­ers, but it will change how we work in mean­ing­ful ways.

The pat­tern con­tin­ues be­cause the dream re­flects a le­git­i­mate need. We gen­uinely re­quire faster, more ef­fi­cient ways to cre­ate soft­ware. We just keep dis­cov­er­ing that the con­straint is­n’t the tool—it’s the com­plex­ity of the prob­lems we’re try­ing to solve.

Understanding this does­n’t mean re­ject­ing new tools. It means us­ing them with clear ex­pec­ta­tions about what they can pro­vide and what will al­ways re­quire hu­man judg­ment.

...

Read the original on www.caimito.net »

7 344 shares, 14 trendiness

US electricity demand surged in 2025 – solar handled 61% of it

Solar did­n’t just show up in 2025 — it car­ried the grid. A new analy­sis from global en­ergy think tank Ember shows that so­lar power ac­counted for 61% of the growth in US elec­tric­ity de­mand last year, high­light­ing how cen­tral so­lar has be­come as power de­mand ac­cel­er­ates.

US elec­tric­ity de­mand jumped by 135 ter­awatt-hours (TWh) in 2025, a 3.1% in­crease, the fourth‑largest an­nual rise of the past decade. Over that same pe­riod, so­lar gen­er­a­tion grew by a record 83 TWh — a 27% in­crease from 2024 and the biggest ab­solute gain of any power source. That sin­gle jump in so­lar out­put cov­ered 61% of all new elec­tric­ity de­mand na­tion­wide.

Solar growth was es­sen­tial in help­ing to meet fast‑ris­ing US elec­tric­ity de­mand in 2025,” said Dave Jones, chief an­a­lyst at Ember. It gen­er­ated where it was needed, and — with the surge in bat­ter­ies — in­creas­ingly when it was needed.”

Texas, the Midwest, and the Mid‑Atlantic saw the largest in­creases in so­lar gen­er­a­tion last year, and they were also the re­gions where elec­tric­ity de­mand rose the fastest. Solar met 81% of de­mand growth in both Texas and the Midwest, and 33% in the Mid‑Atlantic.

Timing mat­tered, too. In ag­gre­gate, the in­crease in so­lar gen­er­a­tion met the en­tire rise in US elec­tric­ity de­mand dur­ing day­time hours be­tween 10 am and 6 pm Eastern. And as a re­sult of the rapid build­out of bat­tery stor­age, so­lar also helped cover some of the de­mand growth dur­ing the evening hours, from 6 pm to 2 am.

The adop­tion of bat­tery stor­age is turn­ing so­lar from cheap day­time power into some­thing far more flex­i­ble. Over the past six years, California’s util­ity‑scale so­lar and bat­tery gen­er­a­tion has climbed 58%. Yet, out­put at the sun­ni­est hour of the day has in­creased by just 8%, a sign that more en­ergy is be­ing stored and used later, rather than dumped onto the grid all at once.

Most of the new so­lar gen­er­a­tion in 2025 was ab­sorbed by ris­ing elec­tric­ity de­mand, al­low­ing so­lar to scale along­side over­all grid growth.

Solar has the po­ten­tial to meet all the rise in elec­tric­ity de­mand and much more. With elec­tric­ity de­mand surg­ing, the case to build so­lar has never been stronger,” said Jones.

Read more: EIA: All net new gen­er­at­ing ca­pac­ity in 2026 may be re­new­ables

If you’re look­ing to re­place your old HVAC equip­ment, it’s al­ways a good idea to get quotes from a few in­stallers. To make sure you’re find­ing a trusted, re­li­able HVAC in­staller near you that of­fers com­pet­i­tive pric­ing on heat pumps, check out EnergySage. EnergySage is a free ser­vice that makes it easy for you to get a heat pump. They have pre-vet­ted heat pump in­stallers com­pet­ing for your busi­ness, en­sur­ing you get high qual­ity so­lu­tions. Plus, it’s free to use!

Your per­son­al­ized heat pump quotes are easy to com­pare on­line and you’ll get ac­cess to un­bi­ased Energy Advisors to help you every step of the way. Get started here. — *ad

...

Read the original on electrek.co »

8 254 shares, 12 trendiness

originalankur/maptoposter: Transform your favorite cities into beautiful, minimalist designs. MapToPoster lets you create and export visually striking map posters with code.

Skip to con­tent

Secure your code as you build

We read every piece of feed­back, and take your in­put very se­ri­ously.

Include my email ad­dress so I can be con­tacted

Use saved searches to fil­ter your re­sults more quickly

To see all avail­able qual­i­fiers, see our doc­u­men­ta­tion.

Sign up

You signed in with an­other tab or win­dow. Reload to re­fresh your ses­sion.

You signed out in an­other tab or win­dow. Reload to re­fresh your ses­sion.

You switched ac­counts on an­other tab or win­dow. Reload to re­fresh your ses­sion.

Notifications

You must be signed in to change no­ti­fi­ca­tion set­tings

Transform your fa­vorite cities into beau­ti­ful, min­i­mal­ist de­signs. MapToPoster lets you cre­ate and ex­port vi­su­ally strik­ing map posters with code.

Notifications

You must be signed in to change no­ti­fi­ca­tion set­tings

There was an er­ror while load­ing. .

Generate beau­ti­ful, min­i­mal­ist map posters for any city in the world.

pip in­stall -r re­quire­ments.txt

python cre­ate_map_­poster.py –city

# Iconic grid pat­terns

python cre­ate_map_­poster.py -c New York” -C USA -t noir -d 12000 # Manhattan grid

python cre­ate_map_­poster.py -c Barcelona” -C Spain” -t war­m_beige -d 8000 # Eixample dis­trict

# Waterfront & canals

python cre­ate_map_­poster.py -c Venice” -C Italy” -t blue­print -d 4000 # Canal net­work

python cre­ate_map_­poster.py -c Amsterdam” -C Netherlands” -t ocean -d 6000 # Concentric canals

python cre­ate_map_­poster.py -c Dubai” -C UAE -t mid­night_blue -d 15000 # Palm & coast­line

# Radial pat­terns

python cre­ate_map_­poster.py -c Paris” -C France” -t pas­tel_­dream -d 10000 # Haussmann boule­vards

python cre­ate_map_­poster.py -c Moscow” -C Russia” -t noir -d 12000 # Ring roads

# Organic old cities

python cre­ate_map_­poster.py -c Tokyo” -C Japan” -t japan­ese_ink -d 15000 # Dense or­ganic streets

python cre­ate_map_­poster.py -c Marrakech” -C Morocco” -t ter­ra­cotta -d 5000 # Medina maze

python cre­ate_map_­poster.py -c Rome” -C Italy” -t war­m_beige -d 8000 # Ancient lay­out

# Coastal cities

python cre­ate_map_­poster.py -c San Francisco” -C USA -t sun­set -d 10000 # Peninsula grid

python cre­ate_map_­poster.py -c Sydney” -C Australia” -t ocean -d 12000 # Harbor city

python cre­ate_map_­poster.py -c Mumbai” -C India” -t con­trast_­zones -d 18000 # Coastal penin­sula

# River cities

python cre­ate_map_­poster.py -c London” -C UK -t noir -d 15000 # Thames curves

python cre­ate_map_­poster.py -c Budapest” -C Hungary” -t cop­per_­patina -d 8000 # Danube split

# List avail­able themes

python cre­ate_map_­poster.py –list-themes

Posters are saved to posters/ di­rec­tory with for­mat:

name”: My Theme”,

description”: Description of the theme”,

bg”: #FFFFFF,

text”: #000000″,

gradient_color”: #FFFFFF,

water”: #C0C0C0″,

parks”: #F0F0F0″,

road_motorway”: #0A0A0A,

road_primary”: #1A1A1A,

road_secondary”: #2A2A2A,

road_tertiary”: #3A3A3A,

road_residential”: #4A4A4A,

road_default”: #3A3A3A

Quick ref­er­ence for con­trib­u­tors who want to ex­tend or mod­ify the script.

# In get_edge_­col­ors_­by_­type() and get_edge_width­s_­by_­type()

mo­tor­way, mo­tor­way_link → Thickest (1.2), dark­est

trunk, pri­mary → Thick (1.0)

sec­ondary → Medium (0.8)

ter­tiary → Thin (0.6)

res­i­den­tial, liv­ing_street → Thinnest (0.4), light­est

# In cre­ate_­poster(), af­ter parks fetch:

try:

rail­ways = ox.fea­tures_from_­point(point, tags={‘rail­way’: rail’}, dist=dist)

ex­cept:

rail­ways = None

# Then plot be­fore roads:

if rail­ways is not None and not rail­ways.empty:

rail­ways.plot(ax=ax, color=THEME[‘rail­way’], linewidth=0.5, zorder=2.5)

# Get all build­ings

build­ings = ox.fea­tures_from_­point(point, tags={‘build­ing’: True}, dist=dist)

# Get spe­cific ameni­ties

cafes = ox.fea­tures_from_­point(point, tags={‘ameni­ty’: cafe’}, dist=dist)

# Different net­work types

G = ox.graph_from_­point(point, dist=dist, net­work_­type=‘dri­ve’) # roads only

G = ox.graph_from_­point(point, dist=dist, net­work_­type=‘bike’) # bike paths

G = ox.graph_from_­point(point, dist=dist, net­work_­type=‘walk’) # pedes­trian

Use net­work_­type=‘dri­ve’ in­stead of all’ for faster ren­ders

Reduce dpi from 300 to 150 for quick pre­views

Transform your fa­vorite cities into beau­ti­ful, min­i­mal­ist de­signs. MapToPoster lets you cre­ate and ex­port vi­su­ally strik­ing map posters with code.

There was an er­ror while load­ing. Please re­load this page.

You can’t per­form that ac­tion at this time.

...

Read the original on github.com »

9 246 shares, 11 trendiness

Patch Tuesday update makes Windows PCs refuse to shut down

We’re not say­ing Copilot has be­come sen­tient and de­cided it does­n’t want to lose con­scious­ness. But if it did, it would cre­ate Microsoft’s January Patch Tuesday up­date, which has made it so that some PCs flat-out refuse to shut down or hi­ber­nate, no mat­ter how many times you try.

In a no­tice on its Windows re­lease health dash­board, Microsoft con­firmed that some PCs run­ning Windows 11 23H2 might fail to power down prop­erly af­ter in­stalling the lat­est se­cu­rity up­dates. Instead of slip­ping into shut­down or hi­ber­na­tion, af­fected ma­chines stay stub­bornly awake, drain­ing bat­ter­ies and ig­nor­ing shut­down like they have a mind of their own and don’t want to ex­pe­ri­ence tem­po­rary non-ex­is­tence.

The bug ap­pears to be tied to Secure Launch, a se­cu­rity fea­ture that uses vir­tu­al­iza­tion-based pro­tec­tions to en­sure only trusted com­po­nents load dur­ing boot. On sys­tems with Secure Launch en­abled, at­tempts to shut down, restart, or hi­ber­nate af­ter ap­ply­ing the January patches may fail to com­plete. From the user’s per­spec­tive, every­thing looks nor­mal — un­til the PC keeps run­ning any­way, re­fus­ing to be de­nied life.

Microsoft says that en­ter­ing the com­mand shutdown /s /t 0” at the com­mand prompt will, in fact, force your PC to turn off, whether it wants to or not.

Until this is­sue is re­solved, please en­sure you save all your work, and shut down when you are done work­ing on your de­vice to avoid the de­vice run­ning out of power in­stead of hi­ber­nat­ing,” Microsoft said.

The firm has­n’t of­fered much in the way of tech­ni­cal de­tail, nor has it put num­bers on how many de­vices are af­fected. There’s also no fix yet, with Redmond vaguely promis­ing to release a res­o­lu­tion for this is­sue in a fu­ture up­date.” But is­n’t that just what a sen­tient bot might say?

This is­n’t the only post-up­date grem­lin lurk­ing in January’s Patch Tuesday bun­dle. Microsoft has also been forced to ac­knowl­edge a sep­a­rate is­sue in which clas­sic Outlook POP ac­count pro­files can hang or freeze af­ter in­stalling this mon­th’s patches, an­other re­minder that while the bugs be­ing fixed may be in­vis­i­ble, the ones in­tro­duced can be painfully ob­vi­ous.

The no­tice is sim­i­larly vague, with Microsoft stat­ing: This is an emerg­ing is­sue, and we don’t have all the symp­toms yet, but we will up­date the topic as we un­der­stand the is­sue bet­ter.”

Patch Tuesday ex­ists to close se­cu­rity holes, some of them se­ri­ous, and skip­ping up­dates is rarely a great idea. But once again, a batch of fixes has ar­rived with side ef­fects that range from ir­ri­tat­ing to dis­rup­tive, de­pend­ing on how much you rely on your sys­tem be­hav­ing pre­dictably when it’s told to turn off.

For now, ad­mins and long-suf­fer­ing Windows users are left watch­ing Microsoft’s sta­tus pages and wait­ing for patches to the patches — hop­ing their ma­chines even­tu­ally go to sleep. ®

...

Read the original on www.theregister.com »

10 229 shares, 19 trendiness

Raising money fucked me up

About four months ago I quit my job at Doublepoint and de­cided to start my own thing.

I’d been work­ing on a lit­tle pro­ject with Pedrique (who would be­come my co-founder) for a bit over half-a-year and de­cided I had enough sig­nal to de­ter­mine he was some­one I wanted to start a busi­ness with.

I was ex­cited about the idea we were work­ing on at the time, but be­ing truly hon­est about my mo­ti­va­tions, I mostly wanted to run my own thing. In a dream world I’d have had the idea of my life” while work­ing at PostHog or Doublepoint and have gone on to build that with max­i­mum con­vic­tion but this was­n’t the case, so I got tired of wait­ing for a spark and de­cided to go out and make it hap­pen, with the idea we were work­ing on be­ing our best bet at the time.

Since I’d just quit my job, I had my fi­nances well in or­der. Thus, my ideal sce­nario would have been to work on the idea we had the MVP for, try to get it off the ground, and if that did­n’t work, try some­thing else, then some­thing else, un­til some­thing did in­deed get off the ground, and only at that point we would con­sider whether or not to raise VC fund­ing, de­pend­ing on whether it made sense or not.

My ideal sce­nario was­n’t go­ing to work for Pedrique, though. He had told me for a while that the money he had saved up for try­ing to build his own thing was run­ning out and that soon he’d need to start free­lanc­ing or some­thing to make some in­come in or­der to sus­tain the search for a lit­tle longer. Prior to us work­ing to­gether, he had a bit of suc­cess with his MicroSaaS prod­ucts but only just enough to in­crease his per­sonal run­way, which was now rea­son­ably short.

We had spo­ken about this be­fore, but with me now be­ing 110% in, we had to do some­thing about it. I had just come in full-time so we weren’t about to go back to a dy­namic where one per­son was full-time and the other part-time be­cause they needed to make ends meet. The de­ci­sion then be­came clear: we’re gonna raise.

At that point, it was an easy de­ci­sion to make. Again, we have two co-founders who have a lot of con­fi­dence in each other, and we don’t want to let the op­por­tu­nity pass us by. So while this was­n’t my ideal choice, we were a busi­ness now and this was the best de­ci­sion for the com­pany. Just don’t die” goes the ad­vice I think, and Skald had just then been born.

And so raise we did. We brought in four phe­nom­e­nal an­gels, in­clud­ing, and this is rel­e­vant, my last few bosses (PostHog co-founders James and Tim and Doublepoint co-founder Ohto), and then de­cided to look for an early-stage fund. We even­tu­ally landed with Broom Ventures and passed up on a few other op­por­tu­ni­ties to limit di­lu­tion.

Great, right? I did­n’t need a salary yet, but for equal­ity pur­poses, I now had one. Our in­vestors are amaz­ing. James and Ohto have been par­tic­u­larly help­ful as an­gels (thank you!), and our in­vestors are all founders of suc­cess­ful com­pa­nies, in­clud­ing Jeff and Dan, the Broom GPs. We’re su­per early, but Broom has been mas­sively help­ful and all-around just a great hands-off VC to deal with.

Most im­por­tantly, none of them put any pres­sure on us. All un­der­stand the na­ture of pre-seed in­vest­ing well, and that can’t be said about all the po­ten­tial in­vestors we took meet­ings with.

So some time passes and we de­cide to pivot. We’re re­ally ex­cited about the new idea. We launch and get a bit of early trac­tion. The open source pro­ject is do­ing well, but we’re strug­gling to mon­e­tize. We fail to close a few cus­tomers and the trac­tion wanes a bit.

Then I find my­self fucked in the head.

And here’s where we get to the point that I’m not sure I should be talk­ing pub­licly about. Does this hurt my im­age a bit? Maybe. Do I look like I’m not cut for this? Potentially. But I’ve al­ways ap­pre­ci­ated when peo­ple share about the process rather than just talk­ing about things in hind­sight, and re­flect­ing while things are hap­pen­ing + be­ing su­per trans­par­ent pub­licly is how I am. You’re wit­ness­ing my growth, live, as I type these words.

Anyway, so what hap­pened is I found my­self spend­ing days with my head spin­ning, search­ing for ideas. I’m an­gry, I’m an­noyed, and I’m not be­ing su­per pro­duc­tive.

As I dug deeper into these feel­ings, I re­al­ized I was feel­ing pres­sured. We weren’t mak­ing that much money, we weren’t grow­ing su­per fast. Then you look around and see startup X gets to $1M ARR a month af­ter launch” and shit like that and I’m feel­ing ter­ri­ble about how we’re barely grow­ing. I’m think­ing peo­ple that I re­ally re­spect and ad­mire have placed a bet on me and I’m let­ting them down.

Except they’re not say­ing this, I am.

There’s an in­ter­est­ing re­flec­tion that came up in a dis­cus­sion be­tween me and my girl­friend a few months prior that I re­al­ized ap­plied to me, but in re­verse. It’s much more com­fort­able to be the per­son that could be X” than to be the per­son that tries to ac­tu­ally do it. We were speak­ing about this re­gard­ing peo­ple who have a clear in­nate tal­ent for some­thing like mu­sic or sports but don’t prac­tice at all. Everyone says things like you’d be the best at this if you just prac­ticed more” but then they never do.

The thing is: it’s a lot eas­ier to live your life think­ing you could have done X if you wanted to, than to disappoint” these peo­ple that be­lieved in you by try­ing and fail­ing. You can al­ways lean on this idea in your head of what you could have been, and how every­one be­lieved in you so it must be true, but you just chose not to fol­low that path.

In my case, I found my­self on the other side of that coin. Throughout my ca­reer, I’ve al­ways had re­ally high own­er­ship roles, and have been ac­tively in­volved in a cou­ple 0 to 1 jour­neys. This led me through­out my ca­reer to get many com­ments about how great of a founder I’d be or how I have the founder pro­file”. I led teams, I wore a bunch of dif­fer­ent hats, I worked hard as fuck, and I al­ways thought about the big pic­ture.

Those traits led my for­mer bosses to then in­vest in me, and now sud­denly I have to, in my head, live up to all of this. I can no longer take so­lace in some ex­cuse like I could have been a founder but work­ing full-time was the best fi­nan­cial de­ci­sion (it al­most al­ways is) so I never started my own thing”. I set foot down a path from which there’s no re­turn. I’ve be­gun my at­tempt. I can of course stop and try again later. But from now on, I’m ei­ther gonna be a suc­cess­ful founder, or I’m not. And if I’m not, I’ll have to deal with hav­ing bro­ken with the ex­pec­ta­tions that peo­ple had of me.

There’s a lot to un­pack here, in­clud­ing what success” means, and how most of what I say are other peo­ple’s ex­pec­ta­tions are ac­tu­ally my own pro­jected onto them (I’ve learned this about my re­la­tion­ship with my fa­ther too), but this post is al­ready a bit too long so I’ll save those for an­other time.

But the whole point here is not just that hav­ing raised this money from friends my head got a bit messy, but that I started to ac­tu­ally op­er­ate in a way that is coun­ter­pro­duc­tive for my startup, while think­ing I was ac­tu­ally do­ing what was best.

Ideas we con­sid­ered when piv­ot­ing were looked more through a lens of how big does this feel” rather than what prob­lem does this solve and for who”. The slow growth was eat­ing me, and while slow growth is ter­ri­ble and can be a sign that you’re on the wrong path it needs to be looked at from an ob­jec­tively strate­gic lens. Didn’t we say we were go­ing to build an open source com­mu­nity and only later fo­cus on mon­e­ti­za­tion? Is that a vi­able strat­egy? Do we ac­tu­ally have a sound plan? Those were the things I should have been think­ing about, rather than loop­ing on we need some­thing that grows faster”.

The peo­ple who in­vested in us, in­vested in us, not what­ever idea we pitched them. And the best thing we can do is to fol­low our own process for build­ing a great busi­ness based on what we be­lieve and know, rather than fo­cus­ing on mak­ing num­bers look good so I can feel more re­lieved the next time I send over an in­vestor up­date.

We have a ton to learn, par­tic­u­larly about sales (since we’re both en­gi­neers), so we can’t just be build­ing shit for the sake of build­ing shit be­cause that’s our com­fort zone. But if our process is slower than com­pany X on TechCrunch, that’s fine. It’s a marathon af­ter all.

So af­ter prob­a­bly break­ing many rules about what a founder should talk about pub­licly, what was my whole goal here? I mean, the main thing for me with posts like this is to get things off my chest. I’ve al­ways said that the rea­son I pub­lish writ­ing that in­cludes po­ems about my breakup, sto­ries about falling in love, posts about my in­se­cu­ri­ties, and re­flec­tions about my dreams is that by there be­ing the pos­si­bil­ity of some­one read­ing them (because tech­ni­cally it could be the case that no­body does) I can truly be who I re­ally am in my day-to-day life. If I’m ok with there be­ing the pos­si­bil­ity of a friend I’ll meet later to­day hav­ing read about how I felt dur­ing my last breakup, I can be my­self with them with­out reser­va­tions, be­cause I’ve made my­self avail­able to be seen. That’s al­ways been re­ally free­ing to me.

As a side ef­fect, I’d hope that if this does get read by some peo­ple, par­tic­u­larly those start­ing or look­ing to start a busi­ness, that they can re­flect about them­selves, their lives, and their com­pa­nies through lis­ten­ing to my story. I thought about writ­ing a short bul­let list about lessons I learned from rais­ing money and deal­ing with its af­ter­math here, but hon­estly, that’s best left to the reader to fig­ure out. We’re all dif­fer­ent, and how one per­son re­acts to a set of cir­cum­stances will dif­fer from some­one else. Some peo­ple don’t feel pres­sure at all, or at least not from friends or in­vestors. Or they only re­spond pos­i­tively to pres­sure (because it cer­tainly has ben­e­fits too). Maybe they’re bet­ter off than me. Maybe they’re not.

This is my story, af­ter all. I wish you the best of luck with yours.

P. S. I’m do­ing good now. I’m mo­ti­vated and sharp. If some­one finds them­selves in a sim­i­lar sit­u­a­tion, feel free to shoot me an email if you’re keen to talk. Happy to go over what was use­ful for me, which fell out­side of the scope of this post.

...

Read the original on blog.yakkomajuri.com »

To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".

10HN is also available as an iOS App

If you visit 10HN only rarely, check out the the best articles from the past week.

If you like 10HN please leave feedback and share

Visit pancik.com for more.