Umberto Eco’s Criticism of Dale Carnegie

I never imagined I’d ever read criticism of Dale Carnegie’s ideas in “How to Win Friends and Influence People”. However, this happened last month while reading a collection of essays by Umberto Eco. The collection is called “How to Travel with a Salmon and Other Essays”, and the essay in question likely translates to “How to Be Famous”.

Eco mocks Carnegie and summarizes his famous book down to the idea that if you want to be successful, trick strangers into feeling famous. He uses the example of TV shows that invite regular folks as guests—so many shows, and so successful, that eventually, every person ends up on TV. However, I’m thinking of YouTube, TikTok, Instagram, Twitch, and so on. The success of these apps depends on how famous they make the average user. Give a 10-year-old 1000 likes, and they’ll stay on the platform for years, building a mental image of themselves as the next MrBeast.

Eco brings up the problem that Carnegie’s advice encourages non-genuine behavior. However, having watched The Flintstones, I suspect that genuine human behavior involves frequent fights with clubs, living in caves, and an average life expectancy comparable to squirrels. I’d rather stick to what Carnegie says.

Eco is at least partially right about one thing – most people on the Internet love likes, myself included 🙂

Sprezzatura

From Wikipedia: “…the art of making something difficult look easy”. Curiously, the same work done with effortless grace and visible hard effort is perceived differently. Add a pinch of complaining and the good job can turn into a nightmare without any other change in the visible outcome.

ChatGPT agrees and says Sprezzatura is rated 9-10/10, while the work done with complaining is rated 4-5.

I encountered that word in Wolf Hall where the author refers to 1528’s The Book of the Courtier. Wolf Hall is a gem and I hope to dedicate a separate post to it once I finish it.

Are there things you try to practice daily to live a more sustainable lifestyle?

Daily writing prompt
Are there things you try to practice daily to live a more sustainable lifestyle?

Here’s a rough list of things I would tag with “sustainability”

  • I try to walk 10k/day on average. It improves my mental health for a whole lot of reasons. I barely use the car so it reduces my family’s carbon footprint
  • Eat less meat. I’ve tried vegetarian but it doesn’t work for me. Less meat is still better than other options
  • I read from about 10pm to when I get sleepy. Once I get sleepy, I go to bed. In case I can’t sleep, I read more
  • I have an 8pm limit on work, even if I want to do overtime, I try not to exceed 8pm. Remote work comes with risks, one risk is blurring the line between personal and professional, and putting a strain on family
  • We adopted a liberal minimalism at home. I wouldn’t buy clothes if I don’t need them, or if I don’t have empty space in my 2 drawers. I still buy paper books though, shame on me.

Worry

Daily writing prompt
What are you most worried about for the future?

I was an expert worrier.

However, the sense of worry got severed somehow and I absolutely don’t want it back. It’s like losing the sense of smell when you’re in a poorly-smelling toilet. Imagine living in the Bog of Eternal Stench. It smells awful but you can get used to it. The sense of worry is gone at the moment. I don’t miss it, and I don’t want it back. If I worry about anything, it’s worry coming back and going through my defenses.

I know several risks – economic, political, health, and age-related. But I don’t currently worry about them because worrying won’t change anything. I know a new thing could make me worry again but it has to be new. I refuse to come up with imaginary future scenarios that affect me in a way that matters.

Some movie references:

Technical Debt

This is Bruce Wang from Netflix with his inspiring talk about Technical Debt. I enjoyed his talk and wanted to write about it but as it turns out, I’m opinionated on the subject and would like to share my thoughts rather than his. Bruce says Technical Debt is the delta between the current code and the ideal code. I think Technical Debt is when a coding team takes a shortcut and comes up with a solution that mostly works but needs future changes. The work that’s needed and may never be done is the debt.

Samples of technical debt from my experience:

  • Copy/paste, quick and incomplete fixes
  • Slowly building obscure God classes or long chains of ifs in long functions. All changes are tiny but the final result is bad
  • Quickly building large and complex pattern-based solutions to simple problems
  • Using old and unmaintained libraries
  • Insufficient test coverage or test coverage that’s guaranteed to break for legitimate changes
  • Agreeing on any kind of a second system and then insisting the old system is the technical debt until either the old or the new system is removed

Out of these, the second system presented the biggest and the most time-consuming challenges. All the other problems can be improved with small iterations but when you have two competing systems, you’ll keep having two until the very end of whatever the solution is.

This code is bad, it will be better to rewrite it from scratch

— An engineer getting in trouble

To my understanding, this is the worst type of technical debt – one that’s hard to repay because the best outcome of the work is that nothing visually changes. Some issues with rewriting:

  • Old code that’s in heavy use tends to cover many cases. Easy to miss them and produce regressions
  • The new code tends to focus on the area unsupported by old code so it quickly deviates from compatibility
  • The old code tends to accumulate changes that are unsupported by the new system while the new system is in progress
  • The amount of work is usually much larger than the wildest estimates
  • Migrating from one system to another is hard, and may even be cost-prohibitive
  • It never gets easier to complete it, and it keeps draining life from engineers doing this or that but never achieving the final result (one system)

Before I continue, note that sometimes rewriting is the only option. 20-ish years ago, I saw a complete ASP/MS SQL website that used horizontally expandable tables. A new record would need a new column. I was contacted as a freelancer to fix it because the owner ran out of columns. The whole thing felt bad beyond repair. It, however, was not a high-traffic or high-responsibility service.

In many cases, the rewrite is initiated when other solutions exist.

Here’s what I’d do if a rewrite of a heavy-use code is suggested. First, I’d come up with a vision for what the final result needs to be, then challenge that vision with honest questions like “Do I need this?”. Most of the time the answer is no, You aren’t gonna need it (YAGNI). With the vision in mind, I’d need to reach the most simplified version of the future version of the code with small iterations that go to production so that there are never two systems and there is no migration between them, for example, by using the Strangler Fig pattern. I’ve done this and it works well enough that nobody notices. And if the second system is started and never gets completed, it soon becomes everyone’s problem.