Configuring git to use main instead of master

17 June 2020

Tags: git github blacklivesmatter

I don’t need to explain the backstory, and I am not interested in a discussion whether this change makes sense or not, nor am I interested in the technical problems it could cause if someone changes the name: technical issues shouldn’t be a reason to stop us from improving.

Actually, if you are reading this, there are good chances you’re already in the mindset of removing potentially offensive language from your project, thank you!

The fact is, we have better, more descriptive technical names than "master" and "slave" and we don’t have to use terms which refer to dark ages of our history, so let’s get rid of them in tech.

In this blog post, you will learn:

  • how to make git init create your project with a main branch instead of master

  • how to rename your master branch to main

  • how to make the change on GitHub

Be aware that renaming branches may break your existing integrations (typically with CI or Slack notifications) so only do it when you’re ready.

Configuring git init

By default, when you create a new project, git init will create a master branch. There’s no option in git init to change this, but it’s actually quite easy to set it up differently.

First, in your ~/.gitconfig file, add the following:

~/.gitconfig
[init]
    templateDir = ~/.config/git/template/

Then create, if it doesn’t exist, the following directory:

mkdir ~/.config/git/template

next create this file:

~/.config/git/template/HEAD
ref: refs/heads/main

(don’t forget to add a new line at the end of the first line)

Starting from now, calling git init will create a main branch instead of master!

Now let’s deal with existing projects.

Renaming your master branch

For your current projects, you may want to rename the master branch to main. This is also single command in git:

git checkout master
git branch -m main

Then you can push the branch to your remote… but be careful, it will create a new branch on the remote:

git push origin main

Configuring GitHub to use main instead of master

Once you’ve pushed your new branch, you need to tell GitHub that this is your new "default branch". To do this, go to SettingsBranches and select your new branch as the default one:

github branch

Last but not least, you need to delete the old branch from GitHub, which can be done by calling this:

git push origin :master

Done!

Comments

Using Java feature previews with Gradle

11 June 2020

Tags: gradle java preview

You’ve probably heard about Java providing features like records, multi-line text blocks or sealed types and you’d like to try them.

Those features are called feature previews and it means a couple of things:

  1. the Java team wants you to test them and give feedback. They want honest feedback about how it feels to use them, whether you like them or not. Both ways, feedback is important.

  2. because they are feature previews, you shouldn’t them use in production, but you can play with them for toy projects.

There’s actually an important thing about point 2 if you are a library author: never, ever publish a library which uses feature previews on Maven Central. The reason is that the feature previews leak to consumers: as soon as you start using them, any project depending on your code will also have to enable them. This is not a problem for toy projects, it’s clearly a problem for published libraries. In particular, there are no guarantees that the generated bytecode will be compatible with future Java releases, and there are no guarantees that the feature preview will make it to Java eventually.

The goal of this blog post is not to explain what records or sealed classes are, there’s already a lot of litterature about it. Instead, we’re going to explain how to configure your Gradle build to use feature previews and therefore report issues/bugs to the JDK team.

Configuring your Gradle build

The code in this blog post is available on a GitHub repository.

First, make sure you are using latest Gradle versions. If you use the repository above, the Gradle wrapper will make sure that you do. Gradle 6.5, for example, works perfectly fine with Java 14 and even Java 15.

Imagine that you want to compile the following record:

public record Person(
        String firstName,
        String lastName,
        boolean likeJavaRecords) {

}

And execute this test:

class PersonTest {
    @Test void testRecord() {
        Person cedric = new Person("Cédric", "Champeau", true);
        Person otherCedric = new Person("Cédric", "Champeau", true);
        assertEquals(cedric, otherCedric);
        assertTrue(cedric.likeJavaRecords());
    }
}

Then you need to configure the build to do a couple of things:

First, we need to tell the Java compiler to use feature previews:

tasks.withType<JavaCompile>().configureEach {
    options.compilerArgs.add("--enable-preview")
}

Then we need to tell the test runtime to use feature previews:

tasks.withType<Test>().configureEach {
    useJUnitPlatform()
    jvmArgs("--enable-preview")
}

And that’s it, you can run the build with ./gradlew test.

Configuring Gradle to use a different JDK from its own runtime

Usually, people use the same JDK version for running Gradle, than they use to compile and execute tests. It doesn’t have to be that way, and actually the Gradle team is working on adding support for toolchains to simplify the configuration of builds in this case. In the mean time, if for some reason your Gradle build doesn’t want to start on JDK 15, but it works on 14, then you can easily configure Gradle to fork compilation and execution.

You can for example configure the build to use a JDK found externally by specifying an environment variable like in the example below:

providers.environmentVariable("JDK15")
        .forUseAtConfigurationTime()
        .map(::File)
        .orNull?.let { javaHome ->
            println("Configuring your build to use JDK 15 from $javaHome")
            tasks.withType<Test>().configureEach {
                executable = "${javaHome}/bin/java"
            }

            tasks.withType<JavaCompile>().configureEach {
                options.isFork = true
                options.forkOptions.javaHome = javaHome
                options.compilerArgs.addAll(listOf("--release", "15"))
            }
        }

Now you don’t have any excuse not to try feature previews!

Comments

Mon engagement pour Montaigu-Vendée

07 March 2020

Tags: montaigu vendée politique

J’ai 40 ans et je suis arrivé sur Montaigu voici 17 ans. Comme beaucoup d’entre nous, c’est pour des raisons professionnelles que nous y avons emménagé avec ma jeune épouse. Elle avait trouvé un travail sur Les Herbiers, je travaillais sur Nantes, Montaigu était l’endroit idéal pour nous. Nous voici en 2020, nous avons 2 grands garçons, et si notre situation professionnelle a évolué (nous sommes tous 2 télétravailleurs) et que nous aurions pu déménager, nous avons au contraire choisi de faire notre vie ici et sommes attachés à ce territoire. Il y a 6 ans, nous quittions notre petit logement sur Montaigu et achetions donc notre maison sur Saint Hilaire de Loulay, en village. Après presque deux décennies passées ici, après nos engagements associatifs, nos nouveaux amis ici, il était temps, enfin, d’entrer au service des citoyens de Montaigu-Vendée.

mvea logo

La liste Montaigu-Vendée Ensemble et Autrement

Si le territoire de Montaigu-Vendée est riche et, économiquement, le territoire est attractif, il y a beaucoup de choses à améliorer. J’ai choisi de m’engager sur la liste de Vincent MATHIEU parce que je suis convaincu qu’une autre voie est possible, basée sur 3 piliers qui sont aussi chers à mon coeur:

  • la transition écologique, parce que je suis convaincu que c’est en travaillant au niveau local, en engageant des actions simples à notre niveau que nous feront de ruisseaux de grandes rivières

  • la démocratie participative, où comment remettre le citoyen au coeur des décisions, avoir des élus au service des citoyens et non l’inverse

  • le mieux vivre ensemble, en prenant en compte tous les habitants, personnes âgées, jeunes, personnes en situation de handicap, de tous milieux sociaux et en exploitant notre très actif réseau associatif

La Transition Ecologique

Je suis particulièrement attaché à l'écologie depuis ma jeunesse. Lorsque je parle d'écologie, je prône toujours une écologie pragmatique, pas dogmatique et encore moins ésotérique. Je suis pour l'écologie qui fait avancer les choses dans la concertation, une écologie qui prend en compte tous les acteurs, entreprises, paysans, citoyens et enfants. Le 5 mars dernier, nous étions le "jour du dérèglement", ce jour de basculement où en France, nous commençons à produire plus de carbone que l'écosystème peut en absorber. C’est dire l’urgence de la situation, mais l'écologie ne se limite pas au prisme du réchauffemenent climatique. En campagne, il est facile de constater les ravages sur la biodiversité: en 40 ans, ce sont 60% des espèces sauvages qui ont disparu, 40 ans seulement! Comme le citait Antoine de Saint Exupéry, nous n’héritons pas de la terres de nos ancêtres, nous empruntons celle de nos enfants.

C’est ici une différence fondamentale avec la majorité sortante, qui, soyons clairs, n’a rien fait pour l'écologie. Pire, lorsqu’elle affirme dans les journaux que Vincent MATHIEU "n’est pas issu du cru local, ses parents n’ont pas de pieds de vigne dans le secteur", nous constatons avec effarement un tel mépris de notre génération, des générations futures, mais aussi des 600 nouveaux habitants qui chaque année, arrivent sur notre terroire. 600 habitants, que, au passage, les élus actuels sont heureux de voir participer à l’activité économique, heureux d’avoir pour qu’il soit, come une fois de plus annoncé dans les journaux, nommé Président d’une Communauté d’Agglomération qui n’existe pas encore (faute d’habitants suffisants !), mais dont il nie l’expression de la démocratie lorsqu’ils ne sont pas issus du secteur. Dont acte.

A titre personnel, je suis aussi attaché à la lutte contre la pollution lumineuse. Je constate, en tant qu’astronome amateur, la dégradation du ciel nocture. Je constate que les gens sont surpris lorsqu’ils découvrent, lors de la manifestation des Etoiles du Lac à La Guyonnière (dont l’existence est menacée par la majorité en place), qu’ils peuvent voir la voie lactée. Je constate aussi que nous n’avons, même ici en campagne, presque plus de papillons de nuit et que les insectes ont presque tous disparus. Il s’agit d’une catastrophe contre laquelle nous pouvons, tous ensemble, lutter.

Que dire de cette majorité, qui, à l’heure où l’on parle de planter des arbres, a rasé tous les arbres de la place de la mairie ? Que dire de cette majorité qui a coupé les magnifiques cerisiers en fleurs du Boulevard Auguste Durand pour les remplacer par… du goudron ! Que dire lorsque tous les cours d’eau du territoire ont leurs indicateurs de qualité dans le rouge ?

Alors peut-on faire mieux ? Avec un tel bilan pour la majorité sortante, ça n’est pas compliqué. Je vous invite à lire notre programme sur la transition écologique. J’insisterai sur ces points:

  • nous souhaitons aider toutes celles et ceux, entreprises ou particuliers, qui sont prêts à s’engager dans la transition écologique.

  • nous favoriserons l’implantation d’entreprises vertueuses, et aiderons les entreprises existantes pour qu’elles réalisent des économies d'énergie (et donc d’argent !) et réduisent leur impact. Ceci passera par la mise en place d’indicateurs et de mesure du progrès tout au long du mandat

  • nous aiderons les habitants de villages dans la mise au normes de l’assainissmenent. Des solutions écologiques et collectives existent, et aujourd’hui personne n’aide ces habitants dans des choix qui sont souvent extrêmenent onéreux.

  • nous favoriserons l’accueil de nouveaux paysans bio ou 0-pesticide et développerons l’alimentation collective par l’approvisionnement local, tel que celà se fait sur la Guyonnière

  • nous rendrons l’accès à la déchetterie plus simple et gratuit. Nous mettrons aussi à disposition des outils pour ceux qui ne peuvent pas facilement se déplacer (broyage, compostage, …)

  • nous développerons et sécuriserons les développements doux (pistes cyclables, chemins piétonniers, …) et mettrons en place des solutions de transport collectif entre les communes déléguées

La démocratie participative

Ah, la belle démocratie Montacutaine ! Qui, il y a 6 ans, avait lu qu’il y aurait fusion des communes dans les programmes ? Qui a été consulté pour cette fusion ? Nous avons bel et bien eu une consultation, celle pour choisir le nom de la commune. D’ailleurs, nous, habitants, avions choisi "Montaigu Les Maines", mais nos élus avaient déja choisi Montaigu-Vendée. Tout, absolument tout sur Montaigu est à cette image: les élus prennent les décisions dans leur coin, et informent les citoyens a posteriori. Ceci n’est pas ma vision de la démocratie. Même s’il fallait faire cette fusion, il était nécessaire d’en informer et de faire une concertation avec les citoyens. Nous ne sommes pas dupes, à Montaigu, l'élu est au service du Maire, ses ambitions personnelles annoncées par voie de presse, et non le contraire. Je ne suis même pas certain qu’ils se rendent compte de ce qu’ils font. Qui, par exemple, a déja vu sur l’affichage public l’annonce des conseils municipaux ?

Nous souhaitons remettre le citoyen au coeur des décisions, et celà se fera en mettant en place des structures adaptées, participatives: rganisation de conseils municipaux délégués, composés pour moitié d'élus et pour l’autre moitié de citoyens tirés au sort parmi les volontaires. Il ne s’agit pas, comme le propose l’autre liste, de choisir nous mêmes les participants, ça n’est pas notre vision de la démocratie: nous souhaitons une vision non partisane des choses !

Notre territoire est grand et aussi organisé en villages et quartiers. Il nous semble donc indispensable de refléter cet aspect dans les prises de décision, avec l’organisation de comités locaux, par thématique, afin que les riverains puissent prendre part aux décisions.

Le mieux-vivre ensemble

Il s’agit encore d’un point qui me tient particulièrement à coeur. Notre territoire se doit d'être accueillant, quelle que soit la population. Nos élus, par exemple, on fait le choix de payer des amendes plutôt que de respecter l’obligation de 20% de logements sociaux. Ils mettent aussi en place des "nouveaux quartiers" tels que les Hauts de Montaigu, où le ticket d’entrée pour une maison de 110m2 et un terrain de 250m2 se situe aux alentours de 250k€ ! Nous pensons que nous pouvons, que nous devons faire autrement: création d'éco-quartiers intergénérationnels, par exemple.

Ces quartiers ont à la fois un intérêt écologique, mais aussi de relation sociale. Avec une partie de la population qui veillit et une autre partie de la population qui croit rapidement (pour des raisons économiques), nous pensons que nous pouvons organiser nos quartiers de manière à encourager la mixité sociale, la relation entre personnes âgées et jeunes en vivant Ensemble et Autrement.

Nous pensons qu’il y a une alternative aux EHPAD et qu’en particulier le maitien des personnes âgées dans un environnement au milieu d’actifs et de jeunes est à la fois une garantie d’un veillissement dans de meilleures conditions, mais aussi plus humaine.

Nous avons aussi la chance, sur notre territoire, d’avoir un tissu associatif extrêmement actif. Toutes ces bonnes volontés ont besoin d'être encouragées. Il est déja très difficile de trouver des bénévoles, alors que dire lorsque la municipalité ne s’engage pas ou, pire, tente de saboter des projets parce qu’ils sont jugés trop "populaires" ? Nous nous appuierons au contraire sur ces associations et nous mettrons en place la transparence dans l’attribution des subventions.

Nous transformerons aussi nos mairies annexes en maisons de services aux citoyen, de façon à favoriser l’interaction, mais aussi aider toutes les personnes en difficulté. Parfois, il s’agira de difficultés de logement, économiques, mais aussi parfois des difficultés dans l’appréhension des outils numériques (nous pensons par exemple à la télé-déclaration de revenus).

Nous pensons aussi à tous les citoyens, en particulier ceux en situation de handicap. La situation de la ville de Montaigu est catastrophique à cet égard: impossible pour une personne en fauteuil roulant de faire ses courses en centre-ville. Nous souhaitons, au contraire, renforcer les centre-villes en les rendant accessibles pour tous, en travaillant avec les petits commerçants qui font vivre nos villes, plutôt qu’en développant, comme à l’heure actuelle, les grandes surfaces commerciales en périphérie.

Enfin, il s’agit aussi d’aider notre jeunesse. Combien de fois avez-vous croisé des jeunes en train de faire du skate sur la voie publique ? Notre majorité actuelle a préféré offrir une réduction sur le tarif des terrains aux promoteurs immobiliers, plutôt que d’investir 80k€ (sur un budget de 16M€) pour donner à nos jeunes des lieux où s’amuser. Que dire de l'état des pistes cyclables ? Pensez-vous que vos enfants peuvent, en toute sécurité, partir du collège et se rendre à leur entraînement de sport à Saint Georges de Montaigu ?

Bref, dans une semaine, le 15 Mars, vous devrez choisir vos élus. Je me présente humblement sur la liste de Vincent MATHIEU, une liste composée de citoyens impliqués, d’horizons et compétences différents et j’espère être bientôt à votre service pour une vie meilleure, Ensemble et Autrement.

Comme l’a si bient dit Michel PAVAGEAU, le doyen de notre liste, à Commune Nouvelle, Équipe Nouvelle !

Comments

Chronicles of an introvert remote worker

03 January 2020

Tags: remote work introversion

Note

This post is the translation in English of the most popular blog post I wrote in October, 2019, which was originally posted in french. Lots of folks commented they found it useful and that they recognized themselves in the description so I decided to translate it to English.

The other day I was listening to Les Cast Codeurs podcast which mentioned the topic of remote working.

Some comments made me raise an eyebrow, this post is going to talk about my own experience. This post is mostly about me and being an introvert.

Remote working and being an introvert

I’ve been almost full-time remote worker for almost 10 years. I’m saying almost because in practice, I’m moving from time to time for profesional reasons (conferences, meetings). However, for my daily job, everything is done from home. Before being a remote worker, I was driving a lot: my job was in Nantes, around 45km from home. That was about ~90km a day, but more importantly between 2 and 3 hours of commute a day. The day I switched jobs, working for VMware on the Groovy language, the first shock was that I was recovering those 2 to 3 hours a day. That’s a lot of time to spend with your kids (dropping them at school, driving them to sports, …) or doing housekeeping (fixing, gardening, sports, …). I won’t come back to those advantages because they are mostly known, the only real drawback to me is being capable of handling your own work hours, that is to say, contrary to the belief, not working too much.

The thing I want to talk about is this comment from Antonio Goncalvés who said:

Dump your coffee maker, go out, see people, it’s important to see other human beings!

This made me react so I wanted to come back to this topic.

First, this advice only works if you live in a city, which is not my case. I (intentionally) live in the countryside, 5kms from the town center. A "small coffee break" turns into an expedition in those conditions.

But let’s come to the core of the topic: "It’s important to see and talk to human beings", which relates to the necessity not to be alone. This is a topic I care about and resonates with a question I often answered when I’m talking about remote work:

But aren’t you tired of being alone and not seeing anybody?"

Honest answer: no.

I understand people who need this, but don’t think everybody works like you and need to see other people. Some folks like me live perfectly well without seeing anybody. I can spend days alone, without me going mad or missing any social relationship.

I’m part of this population called the introverts.

  • An introvert, contrary to the popular belief, isn’t antisocial, selfish or without any kind of empathy.

  • An introvert is someone whose energy is drained by the crowd, by social relationships. It’s the opposite of an extravert who needs to see people to recover energy.

  • An introvert is someone who can’t stand smalltalk, because they don’t bring anything to him/her except from draining their energy.

  • An introver is someone who can talk hours on a topic (s)he’s passionate about because it’s worth their energy.

When I was a kid I already avoided being in a group of people. I didn’t have many friends (but the friends I had back then I still have them today).

I always freaked out at the idea of being in a group where I knew nobody, be it at school, at sport or even family parties. Even if I knew someone, being in a group, having to entertain social relationships was of extreme difficulty (and it still is today, to some extent). Everything I cared as a child about back then was being "excellent" at school and my parents be proud of me. This caused me to get some nicknames ("the nerd"), being hassled or even get some not so nice words written on the back of my classroom photographs, for a large part of my childhood.

As an example, I always refused to go to summer camps (the only experience I got, a week in a stud farm, was so painful to me I still remember it). I also refused going to snow camps. However, I did accept going to England, Ireland and Spain with school, not without fighting myself, because I knew I could learn something out of it, but also because I knew I would be in a small group with a friend.

Similarly, having to stand in front of the rest of the classroom to recite a poem, or worse, sing, was pure torture to me. On the contrary, I loved being at the University of Science in Nantes, where I could spend some time with 2 or 3 friends max at the coffee shop, discussing with them. I didn’t like much the software engineering school I joined to after that, where I had to be extremely creative to avoid the student integration parties, after-work parties and all those driking games most students were fond of: it was incredibly difficult to be recognized as a person without being excluded because I didn’t participate in those events.

Let’s talk about those "integration" parties. What’s fun for some, being drunk, "gently" humiliating others, was just disgust and fear for me.

Now that I think about it, few people know it, but I spent my whole scolarity in Nantes, not because everything was available there (it was, really), but because I was petrified at the idea of beling "alone" in a new University, an engineering school, somewhere else at the other end of France, … I remember a teacher who blamed me for not going in a well known French school despite I had the "capacity" do it. In retrospect I don’t think it was a big mistake, I’m quite happy where I am today!

I would never hire someone like you!

Everything I explained may sound surprising from someone who, today, gives talks at conferences, sometimes in front of hundreds of people, which sounds a bit irrealistic. So what’s the difference?

Well the difference is that when I talk to you in a such a context, I understand the topic (or at least I think I understand it ;)). I can talk to you openly because I know the questions I will get are directly related to the topic I’m talking about. There’s almost no room for the unknown.

That’s also for this reason that it’s still very difficult to me, even today, to reach out to others. I am still completely incapable of doing small talk. This goes even beyond that: I’ve traveled abroad a number of times, multiple times in the US for example, but I never went outside alone to visit (at best I can walk an hour or two in the neighorhood). That’s because doing this drives me outside of my comfort zone: having to talk to people I don’t know, ordering a meal, asking for directions: all this is draining my energy. It’s always easy to say you should go out of your comfort zone when doing this is not a trial for you.

However, if I know one or two people and that they kindly ask me to join them, in most cases it will be fine and I would appreciate visiting! Everybody’s telling me I’m incredibly lucky to travel. Well, maybe, but I, for one, hate this, at least I hate it if I have to do this without my family… Even going to Paris, realizing how many people live there, feeling like an ant in the anthill, remind me how much I hate this!

As a consequence, I avoid as much as I can "parties" like speaker dinners or corporate events. They are often described as the must do of networking. While it’s true that you can learn a lot in those events, they are also incredibly stressful to me. When I join them, most of the time I’m trying to identify someone I know, stick with them but I would often leave early and I have to go to my hotel room alone to recover. I wouldn’t necessarily sleep, as some people think I do: often I would work late in my hotel room, I just need to be alone. The most terrifying thing to me in those parties is when conversations become extra-professional which is something I have no "skill" for. Some would say I’m a boring guy, that there’s no interest in talking to me and that’s probably right if you’re looking for someone with an extraordinary life, mine is not that much :)

A natural conclusion that some people draw from this is that of course I can’t be a good team player. In fact I think that’s quite the opposite: I value trust like no one else and I think you can trust me. One shouldn’t mix my incapacity to have simple inter-personal relationships with my capacity to have useful professional interactions, which is another totally different dimension.

As I explained, I’m regularly giving talks and I love more than anything else sharing knowledge and information, helping others. I also enjoy working with people more competent than me so that I can continue to learn and make progress: in this context working in a team is extremely effective.

Also, it’s not because you’re working remotely that you don’t see anyone and that, effectively, you work alone. It’s quite the opposite: we work as a team. As other teams we do daily standups (via hangouts or Slack), we organize work. Sometimes we even do face to face meetings or leverage conferences to meet together and do some work. So it’s not because you’re an introvert that it’s a problem: I think my colleagues would tell you that it works pretty well actually.

In short, don’t be afraid of this aspect: being alone is not a problem for everyone. Maybe it is for you, but definitely not for everyone. On the opposite, being alone can also boost productivity: no interruption, no useless meetings, ability to focus on a problem for hours etc… Being introvert doesn’t mean either that someone is not capable of working in a team: it doesn’t prevent at all from helping others, colleagues or customers. On the contrary, the professional relationship is focused.

So how does it work in practice? At Gradle, almost everybody is working remotely. For the socializing aspect, we have an optional weekly meeting, called "coffee time", that anyone willing to can join and chat about extra-work topics. Some need this, I don’t: the good thing is that we recognize not everybody’s the same. Actually I would be in difficulty to join this meeting and know what to talk about. Sometimes I even try to avoid being the first one joining a remote call to avoid having to do some small talk because I’m so uncomfortable with this.

However, again, talk to me about a topic I know about or that I’m passionate about. Ask me about a problem to solve, ask me about helping others and I’ll be happy to do so because there’s no room for the unknown.

Similarly if we meet in person at a conference and that you wish to talk to me, go ahead: it’s very likely I will enjoy our conversation: I had several times the opportunity to talk to very famous folks of the Java community (James Gosling, Brian Goetz, Mark Reinholds, …) and so many others but I just couldn’t, it was, physically, impossible to me.

In fact I have so much difficulties coming to someone and opening a discussion that if you do the first step it’s much easier.

So: don’t be surprised if I walk the area 3 times in a row without asking for directions. Don’t be surprised if I don’t phone or text you. I’m not ignoring you.

Don’t be ashamed of being an introvert but make others understand what it means

Last, in a Tweet I was saying that I was "healing myself". That’s both true and false at the same time. It’s true because I’m aware of the importance of the ignorance of a lot of people about this condition of mine, so I try to work, for example, speaking with others in different contexts. I am for example the secretary of my karate club, which forces me to talk to people I don’t know. I am also the coach of my younger boy’s (10 yo) basketball team, which I enjoy very much doing: it’s an activity which allows both spending time with my kid, requires some public communication skills and is very gratifying (seeing kids happy to play, win a match, share this with their parents etc…).

Last but not least it’s also a message for my son who I know feels very much like me: he also has difficulties speaking to others and I know he works hard to get accepted. He’s also so proud when he gets recognition from his community.

It took me years to put a name on what I am: I’m an introvert and often I have to fight myself not to be ashamed of this.

Comments


If you like this blog or my talks, consider helping me acquire astronomy equipment

Older posts are available in the archive.