Naming variables and arguments

I rewatched recently a C++ conference video:

CppCon 2018: Kate Gregory “What Do We Mean When We Say Nothing At All?”

Then I did some research and posted a comment which YouTube decided to remove because it detected “Spam, deceptive practices, & scams policies” violation.It didn’t provide any detail, or a way to check what the comment was or appeal the removal. Nice! I was only able to find out which comment it was by looking at my Your YouTube Comments history and see which comment was NOT there (you have to rely on your memory, because there is no mark that a comment was deleted, or when, on which video…). I will try to reproduce it from memory here (because I cannot find it anywhere), I’ll let the reader decide it it was spam, scam or not:


It’ not enough to name your arguments, the names have to be meaningful.
In 2023 we still have this:

  • const char * strstr ( const char * str1, const char * str2 );
    thanks cplusplus.com ! WTF is str1 and str2? And this is the 1st result on Google (I mean duckduckgo.com)
  • char *strstr(const char *haystack, const char *needle) tutorialspoint.com has it right
  • char *strstr(const char *str,const char *strSearch); so does learn.microsoft.com
  • char *strstr (const char *s1, const char *s2); geeksforgeeks.org can F*** right off
  • char *strstr( const char *str, const char *substr ); cppreference.com does it well
  • char *strstr(const char *string1, const char *string2); IBM can also go to hell
  • char *strstr(const char *s1, const char *s2); so do pubs.opengroup.org

Yay, at least they all name the arguments. Are we happy now?
Well, actually not all, this is what newlib has to say about this:

  • char *_EXFUN(strstr,(const char *, const char *)); 1 or
  • char *strstr (const char *, const char *); 2

Good luck to my fellow embedded developers!

How are junior programmers supposed to name arguments right when this is what they learn from the big guys?

And contrary to what cplusplus.com says, strstr returns a NON const pointer from 2 const pointer. Congratulation!

We are all doomed!

[1] github.com/eblot/newlib/blob/master/newlib/libc/include/string.h
github.com/32bitmicro/newlib-nano-1.0/blob/master/newlib/libc/include/string.h
[2] sourceware.org


… and I understand why YouTYube might detect the “excessive” domain name usage and a couple of links as spam, but FUCK them too for removing my educational comment without providing: 1/ any means to see the comment they have an issue with; 2/ recover a copy; 3/ appeal to restore it… Meanwhile leaving trash comment up and letting actual scams trough!

AI Future and alignment problem

The profit motive and fear pushing even smart humans to do things they know they shouldn’t.

The rules of our economy and political systems are badly designed where the incentives of individuals and the general are misaligned. Just this alone is enough to make solving the AI alignment issue hopeless.

The prisoner’s dilemma in game theory is only a dilemma because how the rules are set up. When the best choice for the individual will result a worse outcome for the population. As long as you can make more money by polluting the environment (and the fine for the damage caused is less then the profit increase) pollution will increase even though it will make everyone’s life worse in the long run. (It’s true even when it makes the polluter’s life worse because they are either legally required to maximize profit for the share holder, or they are afraid if they don’t do it then a competitor will and the environment will still end up being polluted and they will not even make a profit on it.) Rules, laws need to change so this is not the case. (But unfortunately some time in the past we got to a point where they could make so much more money that they were able to buy politicians to pass laws for them, to ensure they will make profit even if it’s bad for the people. And since without money politicians cannot get elected, we cannot change those laws… without getting money… and to get money we need to compete with businesses that make more money when they behave unethically… “Getting money out of politics” could maybe solve this, but how to achieve it is beyond me. At this point I really don’t see how could the system be changed without public hanging of corrupt politicians, to make sure elected officials represent the will of the people and not the wishes of some money interest.)

If doing the right thing (for the whole population) would benefit the individual more than doing a bad thing then it wouldn’t be a dilemma, the goles would be aligned and mostly good things would happen. But when there is a conflict of interest between individuals’ goals and the group’s goal then … to achieve group goals would require cooperation and trust between individuals. But unfortunately trust doesn’t seem to scale 🙁

We need to figure out a way to fight Moloch

Ex-Google Officer Finally Speaks Out On The Dangers Of AI! – Mo Gawdat
Max Tegmark: The Case for Halting AI Development | Lex Fridman
41:25 Mediations on Moloch
Eliezer Yudkowsky: Dangers of AI and the End of Human Civilization | Lex Fridman
Sam Altman: OpenAI CEO on GPT-4, ChatGPT, and the Future of AI | Lex Fridman

Game advice

Don’t loose sight of what is the goal when you play a game.
To have fun!

If a game is no (longer) fun to play change it or stop playing it.

DM advice: D&D should be fun for everyone
https://clips.twitch.tv/LittleSullenCheesecakeRlyTho-uSff0C2sNQVfSdVu
https://clips.twitch.tv/ViscousLuckyNarwhalRitzMitz-B9CNh7CcDyJhXq7R
https://clips.twitch.tv/ScarySpikyLettuceSwiftRage-qoJzrfOKSrgA87cQ
https://clips.twitch.tv/TangibleAverageDumplingsBleedPurple-L6Hom7jiSPDIKgKD
https://clips.twitch.tv/EphemeralZealousScorpionStoneLightning-pqdHsiDC9PkTj3L0

Meaning of life

Joss Whedon’s take [Joss Whedon panel SDCC 2015]: 

“The world is a random and meaningless terrifying place, and then we all – spoiler alert – die.” …but “A thing isn’t beautiful because it lasts.”

“…the main function of the human brain, the primary instant function, is storytelling. Memory is storytelling. If we all remembered everything, we would be Rain Man, and would not be socially active… at all. We learn to forget and we learn to also distort, and from the very beginning we’re learning to tell a story about ourselves.”

storytelling and the shared experience of what that gives us”

You all are the hero of your story.


Angel (TV show by Joss Whedon):

“If there’s no great glorious end to all this, if nothing we do matters… , then all that matters is what we do. ‘Cause that’s all there is. What we do. Now. Today. Because, if there’s no bigger meaning, then the smallest act of kindness is the greatest thing in the world.”


Mark Zuckerberg’s take [Lex Fridman Podcast #267]: human connection, to create and build

“…human connection is the meaning.”… “it’s a thing that our society probably systematically undervalues”

“I just remember when I was growing up and in school, it’s like do your homework and then go play with your friends after. And it’s like no. What if playing with your friends is the point?”

“people tend to think about that stuff as wasting time, or that’s like what you do in the free time that you have. But like what if that’s actually the point?”


Nier: Automata and Adam Millard’s reading of it:

Nier: Automata also have a nihilistic view: “Everything that lives is designed to end. We are perpetually trapped in a never ending spiral of life and death. Is this a curse? Or some kind of punishment? I often think about the god who blessed us with this cryptic puzzle… and wonder if we’ll ever have the chance to kill him.”

“How can we derive meaning from a fundamentally meaningless world?”

“… by sharing that meaninglessness. In a world that doesn’t care about you, where bad things happen whether you like it or not, and where your very existence is cosmically arbitrary, the only real source of meaning is in how you relate to the only other thing that can understand where you’re coming from. Other people.”

“[Pod 153]: Everything that lives is designed to end. They are perpetually trapped in a never ending spiral of life and death. However… life is all about the struggle withing this cycle. That is what “we” believe.” … “[Pod 042]: I am embarrassed.” … “I must look very silly. [Pod 153]: Do not feel bad about it. We are alive, after all. And being alive is pretty much a constant stream of embarrassment.” … “[Pod 042]: A future is not given to you. It is something you must take for yourself.”

So… good luck figuring out what is the meaning of *your* life.

Computer Color is Broken

Well, yeah, writing good code not only requires the programmer to know how to write code or learning a programming language, but requires the understanding of physical, psychological and other processes involved interfacing the code. (For manipulating pixels understanding the creation, reception, transformation processes involved, and not just knowing math, how to average numbers. And for GUI development understanding humans…)

This raises the question if we (will) need coders, programmers at all, or only professionals who know their field and tell the computers how to write the code.

Automatization future

How far away are we?

Humans vs Robots – Are YOU Becoming Obsolete?

So I guess Skynet could be coming soon…

Collaboration with robots in creative fields: Taryn Southern on Collaborating with Robots | TNW Conference 2017

An older but still relevant explanation: Humans Need Not Apply

“Unemployable trough no fault of their own.”

Another good compilation:
The Rise of the Machines – Why Automation is Different this Time

And some other videos:
The last job on Earth: imagining a fully automated world | Guardian Animations

How To Make A Living When Robots Take Our Jobs

Google’s Deep Mind Explained! – Self Learning A.I.