MoreRSS

site iconBear Blog Trending PostsModify

Ranked according to the following algorithm:Score = log10(U) + (S / D * 8600), U is Upvotes , S/D is time.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Bear Blog Trending Posts

The ROI of exercise

2025-08-22 15:45:00

I workout 4 days a week and I love it. It's the foundation of my morning routine, following spending 45 minutes drinking coffee on the couch and watching the sun come up with Emma.

I've been doing this for a few years now and while I struggled (as everyone does) in the beginning, I can't imagine not exercising in the morning now. On the rare occasion that I do skip a workout, I feel it missing throughout the day as a lack of vitality and less mental clarity.

Let's perform a thought experiment to work out the return on investment of exercise. For this let's first assume that exercise does nothing else but expand your lifespan (not extend; since it's not just adding frail years to the end but instead injects extra years in each stage of life). We can ignore the effects it has on strength, focus, feelings of accomplishment, and mental health for now.

It's well understood that a good exercise routine is a mixture of strength, mobility, and cardio; and is performed at a decent intensity for 2-4 days a week for at least 45 minutes. This could be a combination of weight lifting, yoga, running, tennis, hiking, or whatever floats your boat.

This totals about 3 hours a week, or 156 hours per year. If we extrapolate that over an adult lifetime, that's about 8,500 hours of exercise, or about a year of solid physical activity.

That sounds like a lot! But when put into the context of life expansion, it's actually an incredibly good deal. There are many studies detailing how any physical activity, from an easy walk all the way up to vigorous exercise a few times a week increases expected lifespan by 3 to 10 years. And none of these studies used lifetime exercisers, just people who exercised regularly in the last 10-ish years.

This makes sense, since 80 years ago we were still fighting the second world war, and jogging only entered the mainstream in the 70s. Weightlifting was an even later bloomer, and only becoming cool in the 90s!

I speculate that a lifetime exerciser with a modern approach to physical activity would have an even longer health and lifespan than any of these studies suggest. But for this writeup I want to stick with conservative estimates and not speculate too much.

We know from one study that people who played tennis a few times per week lived roughly 10 years longer than average. So we'll use that value going forward.

That means that over a lifetime, one full year of exercise leads to 10 full years of extra life. That's a 1:10 return on investment! So even without any of the additional benefits (which I'll get into later), this is still one of the best investments you can make.

Yes, this is an oversimplification. Correlation between exercise and longevity doesn’t imply causation. Confounding factors like diet, socioeconomic status, and healthcare access influence lifespan. Attributing 10 years solely to exercise ignores these; but it does play a significant factor, as many well-controlled studies will attest to.

This is also based on the premise that all of the time spent exercising is "wasted", which is hardly the case. People love running, playing padel with friends, lifting heavy things, and hiking. I love being in the gym, working towards mini-goals, making progress, and interacting with the community around me. This is not time wasted. I'll posit for many people it's the best part of their day. Not only that but it leaves you feeling accomplished, wholesome, and less depressed and anxious.

To end off I'll rattle off a few other things exercise is good for:

  • Better sleep
  • Less frailty in old age
  • More strength
  • Able to take part in more fun activities (like long hikes)
  • Being more attractive (subjectively, of course)
  • Improved self perception
  • Better cognitive function and memory
  • Access to communities
  • Less pain
  • More mobility
  • A stronger immune system

And this is injected into every single part of your life and available in every decade. Not just at the end.

And this is inherently doable. This is the time equivalent of one episode of any Netflix show, 4 times a week. I watched 3 episodes of Pantheon on Monday alone!

So go do the thing. Incrementally at first. Start off slow and build up a practice that feels right. You won't regret it.

Anatomy of a Bearblog toast button

2025-08-22 12:29:00

A little something for getting started with styling toast buttons.1

The default toast button

The toast button's HTML is:

<button class="upvote-button" title="Toast this post">
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" stroke="currentColor" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1">
    <polyline points="17 11 12 6 7 11"></polyline>
    <polyline points="17 18 12 13 7 18"></polyline>
  </svg>
  <small class="upvote-count">10</small>
</button>

And the default CSS that defines its appearance is:

.upvote-button {
  padding: 0;
  margin: 0;
  border: 0;
  background-color: inherit;
  color: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.upvote-button.upvoted {
  color: salmon;
}
.upvote-count {
  margin-top: -3px;
}

Untoasted

Toasted

The button displays as a centered column, with the svg icon above the upvote count. It has no margin, padding, or border. It inherits the theme's body text and background colors. When toasted, it turns a salmon color. The negative margin reduces the space between the icon and upvote count. It has no hover style.

Toast button CSS, the parts

The most common toast button customizations are a mix of the following parts:

1. Hide the svg icon

.upvote-button svg {
  display: none;
}

Untoasted

Toasted

2. Hide the upvote count

.upvote-count {
  display: none;
}

Untoasted

Toasted

3. Add content after the button

.upvote-button::after {
  content: 'After 🧁';
}

Untoasted

Toasted

4. Add content before the button

.upvote-button::before {
  content: 'Before 🍥';
}

Untoasted

Toasted

5. Add a border, padding, and color to make the button look more buttony

.upvote-button {
  border: 1px solid ButtonBorder;
  border-radius: .5em;
  padding: .5em;
  background-color: ButtonFace;
  color: ButtonText;
}

Untoasted

Toasted

6. Change the font family, size, and color

.upvote-button {
  font-family: 'Nimbus Mono PS', 'Courier New', monospace;
  font-size: 3rem;
  color: MediumOrchid;
}

Untoasted

Toasted

7. Change from vertical to horizontal

.upvote-button {
  flex-direction: row;
}

Untoasted

Toasted

8. Add styles for different button states

.upvote-button { /* Untoasted */
  background-color: Orchid;
}
.upvote-button:hover { /* Hover */
  background-color: MediumSlateBlue;
  cursor: pointer;
}
.upvote-button[disabled] { /* Toasted */
  background-color: DarkSlateBlue;
  cursor: default;
}

(Use [disabled] instead of .upvoted so that the style changes immediately after toasting.)

Untoasted

Toasted

Mixing it all together

A few examples of how the parts can add together:

1. Replace default icon with an emoji =

  • hide the svg icon +
  • add content before the button +
  • change the font size
.upvote-button svg {
  display: none;
}
.upvote-button::before {
  content: '🌮';
  font-size: 1.5rem;
}
.upvote-count {
  margin: initial; /* Reset the negative margin (it's not needed anymore) */
}

Untoasted

Toasted

2. Replace the default entirely with something buttony =

  • hide the svg icon +
  • hide the upvote count +
  • add content before the button +
  • add a border, padding, and color
.upvote-button svg,
.upvote-count {
  display: none;
}
.upvote-button::before {
  content: 'My button (ノ◕ヮ◕)ノ*:・゚✧';
  border: 1px solid ButtonBorder;
  border-radius: .5em;
  padding: .5em;
  background-color: ButtonFace;
  color: ButtonText;
}

Untoasted

Toasted

3. Change the content for different button states =

  • hide the svg icon +
  • hide the upvote count +
  • add content before the button +
  • add styles for different button states
.upvote-button svg,
.upvote-count {
  display: none;
}
.upvote-button::before { /* Untoasted */
  content: 'I am a seed. 🌱';
}
.upvote-button:hover::before { /* Hover */
  content: 'Give me attention! 🌿';
  cursor: pointer;
}
.upvote-button[disabled]::before { /* Toasted */
  content: 'I am a tree. 🌳';
  cursor: default;
  color: GrayText; /* To change the salmon color */
}

Untoasted

Toasted

4. Replace icon with button, show upvote count on right =

  • hide the svg icon +
  • add content before the button +
  • add a border, padding, and color +
  • add styles for different button states +
  • change from vertical to horizontal +
  • add content after the button (more specifically, the upvote count)
.upvote-button svg {
  display: none;
}
.upvote-button::before { /* Untoasted */
  content: '🐽 Boop!';
  border: 1px solid ButtonBorder;
  border-radius: .5em;
  padding: .5em;
  background-color: ButtonFace;
  color: ButtonText;
}
.upvote-button:hover::before { /* Hover */
  content: '🐽 Boop back?';
  cursor: pointer;
}
.upvote-button[disabled]::before { /* Toasted */
  content: '🐈 Booped';
  cursor: default;
  color: GrayText; /* To change the salmon color */
}
.upvote-button {
  flex-direction: row;
  gap: .75em; /* Add space between button and upvote count */
}
.upvote-count {
  margin: initial; /* Reset the negative margin (it's not needed anymore) */
  color: GrayText; /* To change the salmon color */
}
.upvote-count::after {
  content: ' booped';
}

Untoasted

Toasted

5. Explain button on hover =

  • hide the svg icon +
  • hide the upvote count +
  • add content before the button +
  • add styles for different button states +
  • change the font size +
  • add content after the button +
  • change from vertical to horizontal
.upvote-button svg,
.upvote-count {
  display: none;
}
.upvote-button::before { /* Untoasted */
  content: '🌹';
  font-size: 1.5rem;
}
.upvote-button:hover::before { /* Hover */
  cursor: pointer;
}
.upvote-button[disabled]::before { /* Toasted */
  content: '🥀';
  font-size: 1.5rem;
  cursor: default;
}
.upvote-button:hover::after { /* Hover */
  content: 'Give a rose'; /* Explain the button */
}
.upvote-button[disabled]::after { /* Toasted */
  content: 'Oh no'; /* Something else, can be blank */
  color: GrayText; /* To change the salmon color */
}
.upvote-button {
  flex-direction: row;
  gap: .5em; /* Add space between emoji & text */
  align-items: baseline; /* Align text */
}

Untoasted

Toasted

Toast buttons are fun! There are so many possibilities. I hope you enjoy playing with it.

  1. I saw Ruth's Bearblog Toast Button CSS last night before sleeping and saved a note to share some toast button CSS.

back in my day

2025-08-22 11:43:49

One of my students has been too busy to work on her writing recently. Normally when this happens I just give students time to work in class, and most are happy to accept. For them it kills two birds with one stone: they get homework out of the way and get out of doing new stuff in class. This particular student doesn't want time to work on her writing in class, so instead we usually just chat for half the class and spend the other half reading a short story and discussing. I feel a little bit bad spending so much time socializing but a big part of my job is building rapport with the students...

Anyway. Kids say the darnedest things if you talk to them long enough.

S: I think you and my brother would be friends.
M: (mildly amused) Oh yeah? Where's he live?
S: St Louis. Where do you live again?
M: (gobbledygook)
S: Can you drive there?
M: Drive where? To St Louis? From here?
S: Yeah.
M: No, because one, that's a really long drive, and two, I don't have a car.
S: Oh, okay. Depressing.

S: Wait, just curious, how tall are you?
M: (mumbles) uh, [misu-height]. Why?
S: My brother's soooo short. All his friends are way taller than him so he has to stand on a higher step to be at their level in photos. And he eats too much so he looks even shorter.
M: (laughs) How tall is your brother?
S: He's [misu-height - 1 inch].
M: ...

S: Is Rad [sic] Bradbury still alive?
M: Oh, no. He died a few years back. (googles the year) He passed away in 2012.
S: Ummmm..... 2012 was a LONG time ago. I wasn't even born!
M: (cloud of scribbles above head)

M: (says something about how the SAT used to be different)
S: Okay, well, back in your day it was, like, 1833.
M: (hovers cursor over End Call)

Gluttony

2025-08-22 06:23:09

We all consume.

For anything to become something else, a transaction of energy must occur. To move, speak or think, the human must consume food, water and air. To not have anything to consume, it means death. This has been considered truth since we began calling ourselves homo sapiens.

Yet, we seem to grow more and more blind to the third statement. Believing that no matter how much we consume, more will always be available. Idealizing that each of us has the chance to consume vastly more than others. Glorifying those that can afford to.

This growing blindness is driving us closer and closer to the consequences. Acting as if we are birthed with the right of consuming, we fail to notice that our food, water and air are running out. A point comes, we look beneath us and realize: we are standing on nothing, and we cannot consume nothing. Death awaits us.

But such powerful blindness is not a natural cause. We always knew of this vulnerability, so we made sure to spread awareness. It was placed amongst the Seven deadly sins. It was discouraged by the Four Noble Truths. It was criticized in the Sunnah. Yet, it still emerged, and it emerged as never before. It was exploited.

This blindness, it has a name. Gluttony. It is taboo, never to be mentioned. Call upon its name, and you will be met with anger. "Who dares judge my Consuming preferences?", they answer. "With much effort I have worked to be able to Consume this much. I've earned the means to do it, so that is what I shall do." Indeed, they are right. They have money—the means—and they can do whatever they want with it, justifying optional.

Paradoxically, the life they had before was similar. They still consumed food, water and air, albeit slightly different. But, something motivated them to pursue the better. Even if they felt alright most of the time, a hole that could be filled only by desire would always be in the back of their mind. Better food, water and air, they desired. When they would obtain it, that hole would be filled. Yet, not much time passes, that hole forms again.

"It is my freedom to Consume whatever I want, however I want, whenever I want. I've earned the means to do it, so that is what I shall do." Indeed, they are right. They have the freedom to not use old phones, the freedom to not use second-hand clothes, the freedom to not taste less-than-perfect food. Why would they endure such things, if they can afford better? The blindness kept them away from looking at the real costs of the food, water and air they consumed. Their new clothes, best case used less than you can count with your fingers, were made in Bangladesh by children working in hell. "I have done my part in society. They will have it better when they also do their part in society. Then they will be able to afford to Consume like me." An Ouroboros of Consuming, they believed in. Each year, they would produce more, to consume more, to produce more, to consume more. Endless growth. To consume more is sought after by every politician, by every businessman, by every citizen. "We are very proud to announce that we had a very productive first quarter: the Consumers Consumed more than in the last quarter."

People would sell their knowledge online in the form of courses, convincing you that you must be able to consume a lot if you want to be someone in this world. In the background, their shiny new cars laid bare. "Just look at how much I Consume. To become like me, you must have an unwavering desire for more. That is what separates true Consumers from basic ones." Whenever they proudly turned back to take a look at their shiny new cars, their empty hole was showing.

But this powerful blindness, in its present form, was not always like this. As we know, the humans were wary of their weakness, but something must have happened recently that made them forget about it. It was the doing of those who consume the most. They became increasingly worried that they might not be able to consume more next year. Society was eyeing them from above. How could they not consume more? Why limit themselves? They have the means to do it, why not do it? They devised the perfect plan: turn the dreams of the people into something that is unattainable. Always show them that they could consume more. Something new every year. Something new every month. Something new every day. Shame those that do not have the means to consume—after all, it is their fault. They should learn to deal with it. Their plan was to make people completely unaware of Gluttony. Convert them to the religion of Consuming, seemingly compatible with the old religions. After all, they twisted the words enough to make it seem compatible. Now, they eye society from above.

Unaware that they can say no to more, the people continue to increase their consuming. A chance to increase your means is a chance to increase the consuming, always. They are proud of having such chance, and make sure to show it to others. They become cosplayers of consuming, brandishing themselves with logos. Food, water and air that is not interesting is to be avoided. Burdening themselves with so many things, they run out of space to store them. The consuming must increase, so the only solution is to get a bigger space to consume in. The Ouroboros of Consuming.

The hole of desire in humans is permanent. Yet, it is other humans that tell them to keep filling that hole. It is the other humans that indoctrinate them into this religion, normalize it and encourage it. Their time is running out, however. The place they stand on, Earth, is reflecting their actions back. The Earth is slowly becoming hell, and soon all consuming will stop. There will be no one left to consume.

Indeed, Gluttony will do that. Gluttony, ignored, will consume the consumer.

Dev Log Miscellany: Moveing (In ANOTHEREAL)

2025-08-22 01:10:00

I wanted to write a bit about Movement Code. Not the code itself, really, but the idea of movement code and how it involves changing the way you think about the characters you control in a game. This isn't really something meant for programmers to pore over and criticize my code. Sorry about that. I'm not the best programmer, I'm still learning, but I wanted to share a mental journey I've taken over the past 3-4 years of working on a game.


It's a bit of a mistake to think that making a character move in a 2d game is a simple thing. When I began work on ANOTHEREAL, it was the first time I'd ever tried to make a character move. My previous game, ESC, featured text boxes on backgrounds. The other games I'd worked on had talented systems designers that had finished their movement code years before I ever touched the quests and enemies I was designing.

But it must be easy, right? It's a 2d game. Your character's position is an X/Y coordinate. Just adjust your X or Y depending on what direction you push. Easy, right?

Well, kinda. You CAN do that. And in fact that was the first version of Astra's movement code. She was a very simple sprite evenly adjusting her X/Y coordinate as you pressed directional keys.

But you very quickly learn that, oh right, this doesn't feel good to play. It's actually kinda boring to just...slide a sprite around.

So then you get a bit fancy with it. You look up all sorts of tutorials online about character controllers. Oh oh, okay, okay sick. You need to define movement speed, and then adjust the X/Y coordinate by your movement direction multiplied by the movement speed.

One of the funny things I tried doing, because I was obsessed with the idea of smooth momentum in 2D games, was modify your speed as you held down a direction. The 2nd version of Astra's movement code involved her speed gradually getting faster & slower depending on how long you were moving. It wasn't a huge amount, but it did make for something that felt...kinda cool. If you like the idea of a character that isn't fully under your twitch-minded control.

It also made her feel ghostly. Because that's her whole thing. She likes feeling like a ghost. So I wanted to help her out with that.

It was a bad idea, ultimately, because I needed some degree of precision. This was a game that needed you to interact with objects, and have awareness of where enemies were in relation to yourself.

(This code does still survive in one sequence during the intro, though. When you aren't too bothered with the game controlling well yet.)

Collision in a 2D game is also weird. You'd think that it's something like, ok well, I just put down zones you can't move to and you won't go there, right?

Well, kinda. But what actually ends up happening is that you have a type of object that your player character is looking out for.

Let's take a step backwards and talk about precognition.

One of the things I learned very quickly in coding is that scripting a game very often involves psychic abilities. When you intend to do something, the game can know exactly what you're about to do before you actually go ahead with doing it. And in fact, this is really important!

Think about an old RPG, the kind that RPGMaker continues to emulate: the game world is made of a grid of tiles, and pressing directions causes you to move to the next tile. Movement here is easy. It's like a menu. Pressing a direction automates the movement. But it also knows, moments after you press the button, whether the tile you want to move to is accessible. Depending on that precognition it alters how your character reacts. Do they move, or do they go "oof!" and play a little sound.

The same is generally true for a more sophisticated movement code, except you need to check every frame the character happens to be moving. So the system has precognition of your next possible movement, looks at that pixel, and is either like "yeah ok move on ahead" or "hold up, we can't go there." Cue oof & little sound. (Astra doesn't actually do that.)

And that's all well and good, but what happens when you come across an edge that isn't perfectly flat? In this grand world of objects and walls that aren't just tiles, sometimes you come across an angled collision or, gods forbid, a circle.

This is where we get to add another funny metaphor into the toolkit: laser scanning.

If you're familiar with 3D games or first person shooters, you probably know something about raycasts. Put simply, the engine draws an imaginary line between two points in space & gives you information. Well, you can also do that when determining movement. It's kinda how precognition works, but now instead of determining your next position based on your exact momentum & direction, it's shooting out lasers to determine something else: if you can't move straight-ahead, what's the next available space to move to based on the angle of the surface you're rubbing against?

So now you've got a psychic entity fully aware of their next frame of movement at all times, shooting out a sweep of lasers to the space ahead of them to inform that decision.

All that results in is that when you hold Left, your character will follow an angled or curved surface in a logical way to never get stuck in an illogical way.

But we still haven't talked about animation. At this point, Astra's just a stone figure sliding around.

In an ideal world full of infinite resources, I'd give every character a luxurious 8 degrees of facing sprites. It's something I thought about constantly as I played through Mother 3. It felt so slick to always have every character able to fully spin around on all axes. However, as a girl who wants to ship a game, I had to make some hard decisions: 4 character facings, 1 movement animation for each facing, and 1 idle animation for each facing. Even having idle animations is pretty luxurious, and I don't plan on making complex ones for anyone other than main characters, but there you go.

Anyway. How do you determine the direction a character faces? What sprite to use? An even more rudimentary start would be to change direction each time you press a directional button. But what happens when you press two directions at the same time? Which takes priority? Well, you can use momentum. That's what I tried first. Because Astra keeps track of her x speed & y speed, you can see which one is greater & also what direction she's moving on that axis. But what if you're moving diagonally? At what point do you go from up to left? Down to right?

This is where we sort of get lost in fun logic puzzles that eventually become solved once it looks and feels good to control.

But then you have to think about: What if you're playing on a controller with an analogue stick? Do you treat it like an on/off switch like a D-Pad or directional key?

In my case, the lack of analogue input on a stick felt wrong to me. It took installing an entire new framework for control mapping (Juju Adams and friends' Input library for GameMaker) to get analogue inputs properly working. But then the question became how to modulate my existing movement code to allow for analogue input?

Again, movement speed was where it came into play. Because analogue input is measuring a fraction between 0 and 1 on two axes, it has to translate into a fraction of input instead of simply saying yes I am pressing a button. But, the fun thing is that based on how I had already scripted the movement, there are 4 directions & 1 speed.

The answer, in my case, was to go back to our old friend Facing Direction. Because I can generally count on what direction Astra's facing to be the greatest directional value at any point in time, I can then check her facing against the analogue input of that direction & modulate the movement speed. (With a couple min/max clamps in there, because the fidelity of analogue input could let you do some extremely silly sub-pixel speeds otherwise).

Coincidentally, I could also use that same value to modulate the animation speed so that Astra adjusts her pace to match the relative movement speed.

And...there you have it. The full journey of my attempts to make a 2D RPG that feels really nice to move around in.

But I didn't even mention anything about combat movement, because that's handled totally separately.

Anyway, that's enough from me for today. For now, you can bask in the knowledge that my mental image of our dear protagonist Astra is a psychic state machine constantly laser scanning her environment and running logic puzzles to decide when to change her facing and speed.

The Art of Starting Over

2025-08-22 00:58:26

You can read this post in your language on the blog (I translate into English, French, German, Portuguese, Japanese and Chinese) here and can comment.


To begin again. A beautiful and very significant word, which can be used in so many moments of our lives. To start over. It always seems to be the best answer for those who often need to recognize that the path traced so far has not provided the desired fruits. And faced with the closed door of a lost opportunity, we simply need to: return. Restart, reinvent, rebuild.

And how many times do we need to watch a part of ourselves die to finally rediscover the true meaning of (re)starting. From scratch, without pride, without shame, without fear, but with baggage. Good experiences and learning from everything that went wrong. But it is necessary, therefore, to know how to carry the right experiences, or we will be frighteningly haunted by fear. Failure, when not well-conditioned within us, destroys us little by little, paralyzes us, blocks us. And fear does not need to be a limiting factor, but rather a caution.

To believe again. A difficult action when one has lost hope in what should have value. Even worse when we stop believing in ourselves. It is difficult to live this experience of, little by little, unintentionally, starting a process of self-sabotage. How many times do we let the opinions of others destroy us from within. They say all the time in almost everything we do: “You won’t make it!”, “You don’t have the ability” or even, “This is not for you!”. It is always easier, in the face of the countless difficulties that arise on our journey, to believe in inability, in non-realization, to believe that life is even more difficult than it already seems. But living is this: almost dying so many times, to learn to be reborn, to be even stronger. To fall a thousand times, to get up a thousand and one. To relive, to be reborn, to recognize. Yes, to recognize is this, to know again, to have the opportunity to learn something in life, but in the right way. To know that we made mistakes, but that we can relearn what is necessary. It is always time to change, to improve, to grow. It is always time to break free. Let go of the ties, surrender to the unknown, without more questions. Simply seek to live, without expecting anything in return. Live the simplicity of rediscovering yourself in each step.

But notice, our life is this, a portion of “Re’s”, have you noticed? Life is a cycle, that when well-lived, leads us to the best of ourselves.

What leads us more easily to the state of being sublime? What attitude should we have when, in the face of a process, we want to obtain continuous improvement? That’s right, the answer involves several magic words already said: To restart, to relearn, to relive, to be reborn, to reinvent, to restore, to reboot, to rebuild… We must always, therefore, redo, rethink our actions and our attitudes, because there are always thousands of details that we still do not see, other countless lessons to be learned, other thousand new paths to be traveled. To live is immensity. To live is the opportunity to be fully realized, happy, led back to the real beauty of our soul.

We are fully capable and despite all our flaws and possible limitations, each one has a beautiful talent, a beautiful mission. Each one carries within themselves a great opportunity. We are worthily blessed, but we waste what we are when we stop climbing to the top of the podium of our daily lives, to be content with last place. We lose ourselves from what we are when we constantly let ourselves be carried away by weaknesses. We pollute ourselves when, upon laying our head on the pillow, we fail to correct ourselves and seek to improve, to justify and find acceptable everything we do wrong.

Have you noticed how many times, when we do wrong even without meaning to, we look for excuses not to correct ourselves? How many times are we so proud that we harm or hurt others in some way, in the name of our false truths, to feel stronger? To not admit how human we are? But know that weak is not the one who recognizes being wrong, who recognizes their deficiencies, who puts pride aside to value the right things. Nor is the one who, in the face of storms, lets themselves fall weak. Truly weak is the one who lives with the arrogance of thinking they are superior to others. Weak is the one who does not know how to live the process of humility. Who thinks that their wills, their desires, their choices, must always be realized, even if it may harm or hurt someone. Weak is the one who does not know how to love. Weak is the one who does not allow themselves to live the essence of fraternity, who does not strive for good values. It is not easy to be good, which is why few truly are, but there are many battling to truly be.

In the face of rebirths, new beginnings, reinventions, rediscoveries, reconstructions, and so many other processes necessary for our well-being, we develop our maturity. We thus stop wanting so much what does not matter, we learn to value the right people, to love those who love us in an appropriate way. We learn to be more authentic, to be who we should be, without masks, without inventions. We learn to value our feelings, our body, our life. With time, we finally realize that we cannot change the facts, and in the face of this, we let the facts change our reality, after all, events are factors of transformation in us. Maturity is not ceasing to be a child. Not necessarily, because it is necessary to stop being one in the right way. We let go of attachment, the childish way of wanting everything for ourselves. But we should maintain the truth, the sincerity, and above all, the simplicity. A child is enchanted by the rainbow, by the sunset, by an insect in the garden, by the taste of rain, by the small details of a landscape. We cannot lose this vision of enchantment, because when we stop admiring the beauty of small things, life loses its grace. When there are no more surprises, there is no more life. It is the death of the essence of the soul.

And even with stumbles and tired feet of someone who is lost and does not know where to go, may the sun show the beauty of a new beginning. May the rays of light allow the eyes of those who do not see what they see to open, so that they can have the necessary enchantment for life. May they not forget the beauty they carry. May they not let what is in their heart die, the goodness they carry in their soul. May there always be enough light to illuminate the darkness of our being. It is always time to start over. It is always time to love ourselves and to love others as they are. It is always time to believe. It is always time to forgive others, but it is essential that we can forgive ourselves. To be reborn, in the face of the love we carry, the goodness we can spread, what we truly are. To live is to never forget to return, as many times as necessary, to ourselves. To what we can never stop being. May we always be our own best friend and not our greatest enemy. May we never stop walking, taking steps. May we never let the light we carry go out. May we never stop fighting. May we always know how to revisit the most beautiful territories of our soul and our heart.


e-mail me if you want: [email protected]

My website and my blog