<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>cocotier.ro</title><description>Personal website where I write about anything and everything.</description><link>https://cocotier.ro/</link><item><title>Too X for Y, and too Y for X</title><link>https://cocotier.ro/blog/too-x-for-y-and-too-y-for-x/</link><guid isPermaLink="true">https://cocotier.ro/blog/too-x-for-y-and-too-y-for-x/</guid><description>Dealing with a night filled with feelings of loneliness and lack of belonging, despite being surrounded by people.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I was out with a couple of people the other night. Quite a big group, there were 10 of us. I&apos;m normally not a fan of big gatherings, and this time was no different. Especially since I didn&apos;t really know most of the people there.&lt;/p&gt;
&lt;p&gt;It felt a bit uncomfortable, but for the most part it was ok.&lt;/p&gt;
&lt;p&gt;At some point someone said &quot;boys with boys, and girls with girls!&quot;, leading to 2 groups forming.&lt;/p&gt;
&lt;p&gt;I didn&apos;t really want to get closer to the men&apos;s group, primarily because I didn&apos;t really know most of them. I don&apos;t consider myself to be a &quot;masculine&quot; man. I couldn&apos;t really care for this label. I don&apos;t really enjoy hanging out with most men either.&lt;/p&gt;
&lt;p&gt;Out of all the people there, I knew 2 of the girls better, so I gravitated towards the &quot;girls&quot; group. I was promptly shut down, and told &quot;No! You go with the MEN!&quot;. I tried protesting, &quot;am I not one of the girlies too?&quot;. Apparently I am not anymore. Not in this particular group at least. Was I ever considered to be part of the group in the past? I thought I was, now I don&apos;t really know.&lt;/p&gt;
&lt;p&gt;There was a total of 9 other people at the same table I was at, formed into 2 little groups. Then there was me, at the edge of the table, sitting in a stiff wooden chair.&lt;/p&gt;
&lt;p&gt;I was too &quot;&lt;em&gt;manly&lt;/em&gt;&quot; for the women, and I felt too &quot;&lt;em&gt;girly&lt;/em&gt;&quot; for the men.&lt;/p&gt;
&lt;p&gt;I pulled out my phone and I started scrolling, trying to escape those horrible feelings. Feelings that I am not smart enough to properly label yet. The time was moving so slow too. At various points of the night I started disassociating, thinking about who knows what. The people around me seemed to be enjoying themselves though.&lt;/p&gt;
&lt;p&gt;One of the guys did come to comfort me and asked if everything was ok. I said I was fine, even though I wasn&apos;t. How do you even tell someone that you feel alone without sounding pathetic? How do you tell that to someone and not ruin their night too?&lt;/p&gt;
&lt;p&gt;I didn&apos;t want to be a burden. I didn&apos;t want to feel like one either. So when time came to change locations, I left.&lt;/p&gt;
&lt;p&gt;It was around 1 AM, and I decided to go back home by foot. The quiet of the city calmed me down a bit. Took me almost an hour to get home though.&lt;/p&gt;
&lt;p&gt;I do feel somewhat better now. I think I&apos;m back to my baseline. But this experience gave me a lot to think about. I haven&apos;t yet processed it all.&lt;/p&gt;
</content:encoded></item><item><title>Relationships Are Insurance Against Loneliness</title><link>https://cocotier.ro/blog/relationships-are-insurance-against-loneliness/</link><guid isPermaLink="true">https://cocotier.ro/blog/relationships-are-insurance-against-loneliness/</guid><description>The world is going through a loneliness crisis. It seems to happen more to young people. How do romantic relationships help in this context?</description><pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;The world is going through a &lt;a href=&quot;https://web.archive.org/web/20260117032728/https://www.who.int/news-room/commentaries/detail/loneliness-and-isolation-the-hidden-threat-to-global-health-we-can-no-longer-ignore&quot;&gt;loneliness crisis&lt;/a&gt; (if you label it as &quot;&lt;em&gt;&lt;a href=&quot;https://www.npr.org/2025/02/17/1263527043/its-been-a-minute-male-loneliness-epidemic-real&quot;&gt;the male loneliness epidemic&lt;/a&gt;&lt;/em&gt;&quot; you&apos;re either stupid, a misogynist, or most probably both). It also seems to happen more often among young people. Hurray to being young, I guess.&lt;/p&gt;
&lt;p&gt;Especially in this context, being part of a romantic relationship is a hedge against feelings of loneliness.&lt;/p&gt;
&lt;p&gt;Especially in this context, I seem to not be particularly good at hedging.&lt;/p&gt;
&lt;p&gt;I was betting on surrounding myself with friendships. An oversight on my part was the fact that all the people that I surround myself with, may prioritize directing their time at either their existing romantic relationship, or trying to start a romantic relationship.&lt;/p&gt;
&lt;p&gt;Thus, I&apos;m left selfishly yearning for their company. Or just someone&apos;s company, to be honest.&lt;/p&gt;
&lt;p&gt;A couple of weeks ago, a random man sat next to me on the bus. He started telling me about his declining health, his drinking problem, and his son who he barely sees anymore. I was uncomfortable, so I just nodded in agreement until he got off a couple of stops later.&lt;/p&gt;
&lt;p&gt;While I do not agree with what he did, nor with the type of life he seems to lead, I do feel like we&apos;re alike in certain regards. I, too, feel the need to share my feelings with someone. I, too, have few if any people who I feel safe enough to talk to about this kind of stuff. I hope that random man is at least not feeling lonely at this time.&lt;/p&gt;
&lt;p&gt;I am happy for my friends. I really am. I do understand them. If I were in their position, I&apos;d probably do the same. But I still feel this selfish entitlement towards their company.&lt;/p&gt;
&lt;p&gt;I consider myself quite the hopeful person. But in this context, at this particular time, hope seems difficult to come by.&lt;/p&gt;
&lt;p&gt;It is fine thoooo!! These feelings will passsss. I&apos;ll feel better in a couple of days. Just wanted to organize the thoughts in my head, so I threw them in here.&lt;/p&gt;
</content:encoded></item><item><title>I tried making pancakes. It went horribly</title><link>https://cocotier.ro/blog/i-tried-making-pancakes-it-went-horribly/</link><guid isPermaLink="true">https://cocotier.ro/blog/i-tried-making-pancakes-it-went-horribly/</guid><description>A couple of days ago I tried making some pancakes. Everything that could go wrong, did go wrong.</description><pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;A couple of days ago I tried making some pancakes. Everything that could go wrong, did go wrong.&lt;/p&gt;
&lt;p&gt;I almost dropped an egg. Instinctively I grabbed it midair. It broke in my hand, and I ended up smearing my hand, pants, and the kitchen floor in egg. Yaaaaaayy...&lt;/p&gt;
&lt;p&gt;I put a little backing soda in the pancake mix, after that I wanted to close the bag. I was pushing the air out of the bag, and the bottom ripped. The kitchen floor was then full of baking soda. A couple of minutes earlier it was full of egg.&lt;/p&gt;
&lt;p&gt;I put too much egg, and not enough flour in my pancake mix, so I wasn&apos;t able to flip the pancakes properly. They all ended up being thin, really soft, and broken, and honestly a mess too. They didn&apos;t look like pancakes at all.&lt;/p&gt;
&lt;p&gt;The whole experience was a pain. But, I cut some strawberries and bananas over my so-called pancakes, and I&apos;m happy to report that they actually tasted alright.&lt;/p&gt;
</content:encoded></item><item><title>Sometimes you should just write stuff</title><link>https://cocotier.ro/blog/sometimes-you-should-just-write-stuff/</link><guid isPermaLink="true">https://cocotier.ro/blog/sometimes-you-should-just-write-stuff/</guid><description>Rambling about the effects my &quot;quality standards&quot; have on my blog content output.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I&apos;ve locked my ass in a cage for about 2 years, while claiming that I&apos;m actually chasing a &quot;standard of quality&quot;.&lt;/p&gt;
&lt;p&gt;I&apos;ve been writing (almost) daily in &lt;a href=&quot;https://cocotier.ro/blog/you-should-really-start-a-journal/&quot;&gt;my digital journal&lt;/a&gt; for the past &lt;strong&gt;1.476 days&lt;/strong&gt; (at the time of writing). Yet, if you look at my blog, my latest post is from almost a year ago. The post before that? Almost a year older than the last.&lt;/p&gt;
&lt;p&gt;Across the 2 posts I&apos;ve written in the past 2 years, there&apos;s around 1.000 words (according to a random word counter online). That&apos;s 1.3 words per day for 2 years. I CAN DO BETTER THAN THAT! I&apos;ve been doing better than that. Over the same period, I&apos;ve been writing hundreds of words in my journal. EVERY. DAY.&lt;/p&gt;
&lt;p&gt;So why haven&apos;t I been doing the same for my blog? Amazing question, thanks for asking. Well, I could pretend that I just had a lot on my plate, and for certain periods of time that was true. In reality, I was just pretending that I have a &quot;standard of quality&quot; that I&apos;m chasing, and every idea I had was just &quot;not good enough&quot; (or it required &quot;too much effort&quot;).&lt;/p&gt;
&lt;p&gt;I wouldn&apos;t consider myself a perfectionist, but I still strive for the stuff that I put into the world to be &quot;good enough&quot;.&lt;/p&gt;
&lt;p&gt;If you look over my &lt;a href=&quot;https://cocotier.ro/blog/&quot;&gt;older posts&lt;/a&gt;, you&apos;d be excused to think otherwise. Though, for that time, that&apos;s what I considered to be &quot;quality&quot;. My standards did change since then, and now I kinda feel bad that I don&apos;t have more of these markers of how I evolved over the years.&lt;/p&gt;
&lt;p&gt;Even if I don&apos;t really like those older posts now as much as I did when I wrote them, I want to keep them around as a reminder of how much I&apos;ve grown.&lt;/p&gt;
&lt;p&gt;So why am I writing now? After all this time, what changed? To put it plainly, I was a little inspired by reading some stuff on &lt;a href=&quot;https://bearblog.dev/discover/&quot;&gt;BearBlog&lt;/a&gt;. I genuinely find it so nice when people share seemingly mundane stuff. I want to contribute to that. I want to write about &lt;strong&gt;&lt;em&gt;my&lt;/em&gt;&lt;/strong&gt; mundane stuff, and I hope other people will feel nice when they read it.&lt;/p&gt;
&lt;p&gt;I&apos;ll try to write a bit more. I hope that I&apos;ll succeed.&lt;/p&gt;
</content:encoded></item><item><title>Alfredo 2  - Album Review</title><link>https://cocotier.ro/blog/alfredo-2-album-review/</link><guid isPermaLink="true">https://cocotier.ro/blog/alfredo-2-album-review/</guid><description>Review of Alfredo 2, by Freddie Gibbs and The Alchemist. Spoiler: it&apos;s pretty good!</description><pubDate>Fri, 08 Aug 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;https://album.link/i/1824019687&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;Alfredo 2&lt;/strong&gt;&lt;/a&gt; is a pretty good album from &lt;em&gt;Freddie Gibbs&lt;/em&gt; and &lt;em&gt;The Alchemist&lt;/em&gt;. While it didn&apos;t feel
spectacular on first listen, it definitely started to grow on me after a couple
of plays.&lt;/p&gt;
&lt;p&gt;Every song on the album follows the same formula. Freddie says &quot;yeah, check
check&quot; a couple of times in the beginning, drops an amazing verse, then has a
&quot;yeah, yeah&quot; filled monologue at the end, after which the background story of
the album progresses. All this happening on some lofi, vibey beats, produced by
The Alchemist.&lt;/p&gt;
&lt;p&gt;Since the songs have quite long outros, they also feel a little bit short.&lt;/p&gt;
&lt;p&gt;While this formula isn&apos;t necessarily bad, it does make Alfredo 2 more of a
passive listening experience. Simply due to the predictability of each song.&lt;/p&gt;
&lt;p&gt;I also find it a bit weird that this supposedly oriental inspired story that
takes place at the end of each song, is mixed with quite a bit of Hispanic
references, 2 of the songs being named after Spanish dishes.&lt;/p&gt;
&lt;p&gt;Besides the outro story, the songs aren&apos;t really related.&lt;/p&gt;
&lt;p&gt;A pattern I could identify, is that songs tended to progressively get more
energetic, then slow down, then repeat.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1995&lt;/strong&gt; is a fairly good intro song. It&apos;s also the longest song on the record.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mar-a-Lago&lt;/strong&gt; and &lt;strong&gt;Lemon Pepper Steppers&lt;/strong&gt; are good background songs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ensalada&lt;/strong&gt; is my favorite song. It feels more energetic, the hook is catchy,
and the Anderson .Paak feature simply fits so well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Empanadas&lt;/strong&gt; feels like a transition song, slowly getting the listener used to
a bit that&apos;s a bit more aggressive. &lt;strong&gt;Skinny Suge II&lt;/strong&gt; is where the slightly
more aggressive beat really shines tho, I really enjoy the flow of this one.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Feelings&lt;/strong&gt; would have been my second favorite, but the Larry June feature just
ruins it for me. His delivery is soooo bland, and it just doesn&apos;t fit on the
damn song.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I Still Love H.E.R.&lt;/strong&gt; is a song where Freddie expresses his love for the game.
It&apos;s not really that different from the others tho. Again, same formula.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shangri La&lt;/strong&gt; again has a more vibey beat and better delivery, in my opinion.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gas Station Sushi&lt;/strong&gt; is ok, but the lyrics feel a bit drowned out by the beat.
It&apos;s a nice beat tho!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lavish Habits&lt;/strong&gt; gets -100 aura points for using the expression &quot;unalive me&quot;,
but it gets out of aura debt by calling Akademiks a fat bastard. Ok song.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Gold Feet&lt;/strong&gt; is the song that makes you head bang. The JID feature definitely
helps here. One of the better songs of the record.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Jean Claude&lt;/strong&gt; is again an ok song. Not much to say about it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A Thousand Mountains&lt;/strong&gt; has a nice beat and I like that it mentions André 3000
while having a flute sample in the background. The Barbie Movie mention is a bit
of an ear sore tho.&lt;/p&gt;
&lt;p&gt;Over all, an ok album. If I were to pull a number out of my ass, I&apos;d give it a
solid &lt;strong&gt;6/10&lt;/strong&gt;.&lt;/p&gt;
</content:encoded></item><item><title>The Human Replacement Fund</title><link>https://cocotier.ro/blog/the-human-replacement-fund/</link><guid isPermaLink="true">https://cocotier.ro/blog/the-human-replacement-fund/</guid><description>In an ideal world, there would be no need for human labor. In this post I ramble about an idea I&apos;ve had after watching a YouTube video essay.</description><pubDate>Sat, 05 Oct 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;In an ideal world, there would be no need for human labor. We&apos;d all do the things we love, be it drawing, baking or tinkering with computers. All our needs would be met by utilizing the work of machines.&lt;/p&gt;
&lt;p&gt;But we don&apos;t live in an ideal world.&lt;/p&gt;
&lt;p&gt;Innovation is constantly replacing humans, hell, the word &quot;&lt;a href=&quot;https://en.wikipedia.org/wiki/Computer_(occupation)&quot;&gt;computer&lt;/a&gt;&quot; used to mean a completely different thing some time ago.&lt;/p&gt;
&lt;p&gt;Over the long term, this innovation great! I doubt that in today&apos;s world, anyone is expecting actual human beings to manually do the math necessary to put half naked women in your Instagram feed.&lt;/p&gt;
&lt;p&gt;Still, over the short term, the implications of such fast innovation are devastating. Think of the millions of people suddenly left without work when the steam engine was created. Or think of all the people that may be left struggling if this AI shit actually manages to become something more than glorified text prediction.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;While innovation is necessary, its advantages must benefit everyone, including the people it&apos;s replacing.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;replacing-people-with-machines&quot; class=&quot;group&quot;&gt;Replacing People with Machines&lt;a href=&quot;#replacing-people-with-machines&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Why does this happen? In short, businesses &lt;em&gt;&quot;must&quot;&lt;/em&gt; do this in order to remain competitive. But this choice has unforeseen &lt;strong&gt;negative&lt;/strong&gt; consequences for everyone involved, including the businesses themselves.&lt;/p&gt;
&lt;p&gt;Let&apos;s say that you&apos;re the owner of a business that&apos;s producing shirts. You currently employ 100 people that hand sew around 200 shirts a day.&lt;/p&gt;
&lt;p&gt;Now let&apos;s say that the sewing machine appears on the market, and you&apos;re an early adopter.
You fire 50 of your employees and give the other 50 sewing machines.&lt;/p&gt;
&lt;p&gt;You&apos;re now producing 400 shirts a day and spend half of what you used to on wages.&lt;/p&gt;
&lt;p&gt;Since your costs are lower, you decide to lower your prices as well, so that you can take some market share from your competitors. Once they realize how you can afford to sell shirts at lower prices, they&apos;re going to adopt the same strategies in order to remain competitive.&lt;/p&gt;
&lt;p&gt;This means more job losses to the machines.&lt;/p&gt;
&lt;p&gt;You and all your competitors are now producing ungodly amounts of shirts, every single day, and all of you are listing them at extremely low prices. Yet, no one seems to buy them anymore. Why is that?&lt;/p&gt;
&lt;p&gt;So many people ended up without a job that they can barely afford to eat. They don&apos;t care about your dirt cheap shirts, they have bigger problems.&lt;/p&gt;
&lt;p&gt;Once this happens, your machines are worthless.&lt;/p&gt;
&lt;p&gt;Your storage fills up with shirts that people may need but cannot afford. At some point you will either have to stop production, or sell the shirts below cost, just to empty your storage halls.&lt;/p&gt;
&lt;p&gt;When this point is reached, it is no longer economical to use the machines for production. Lucky for you, the people are desperate so they&apos;re willing to work for pennies.&lt;/p&gt;
&lt;p&gt;You now employ 100 people that hand sew around 200 shirts a day.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The cycle continues.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&quot;the-human-replacement-fund&quot; class=&quot;group&quot;&gt;The Human Replacement Fund&lt;a href=&quot;#the-human-replacement-fund&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The idea behind such a fund would be to help people displaced by technological advances, while they are looking for new employment in different sectors of the economy.
Over the long term, such a fund would be beneficial to both people and business owners.&lt;/p&gt;
&lt;p&gt;Former employees would benefit from financial aid and respecialization courses, thus easing the stress of being laid off.&lt;/p&gt;
&lt;p&gt;Business owners would delay profits generated by the newly adopted technologies. However, contributing to the fund would ensure their success over the long term, as people wouldn&apos;t fall into sudden poverty and would still be able to afford their products.&lt;/p&gt;
</content:encoded></item><item><title>You Want to Center a DIV in CSS? Good Luck!</title><link>https://cocotier.ro/blog/you-want-to-center-a-div-in-css-good-luck/</link><guid isPermaLink="true">https://cocotier.ro/blog/you-want-to-center-a-div-in-css-good-luck/</guid><description>Overview of how web devs have been centering DIVs across time.</description><pubDate>Sat, 28 Sep 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Few things are as controversial in the web development space as the correct way of centering a div in CSS... Ok, there are &lt;em&gt;a lot&lt;/em&gt; of controversial things in this space, but that&apos;s mostly because everyone has their own way of doing things, which comes bundled with a superiority complex.&lt;/p&gt;
&lt;p&gt;Anyway, &quot;&lt;em&gt;In the beginning God created the heaven and the earth&lt;/em&gt;&quot;, or so the story goes. Fast forward a couple millennia, and some apes just invented programming. Big mistake. They have no idea what they just started.&lt;/p&gt;
&lt;p&gt;Give these &quot;&lt;em&gt;programmers&lt;/em&gt;&quot; enough time, and they&apos;ll eventually figure out how to send data between computers &lt;strong&gt;&lt;em&gt;WITHOUT WIRES&lt;/em&gt;&lt;/strong&gt;. Wait, they already did it? Shit&apos;s craaazyy..&lt;/p&gt;
&lt;p&gt;I can already see a future where this technology will become so cheap that eventually half the planet will be able to use it to send text, images, and even money between each other. From halfway across the world. Instantly. Oh, this happened already too?!&lt;/p&gt;
&lt;p&gt;Ah, well.&lt;/p&gt;
&lt;p&gt;Let&apos;s go back a little. So.. it&apos;s the early days of this new thing called &quot;the internet&quot;, huh?&lt;/p&gt;
&lt;p&gt;&lt;del&gt;But how does it work?&lt;/del&gt; Shut up, we won&apos;t talk about that. Why were you here again?
Right, you wanted to center a div.&lt;/p&gt;
&lt;p&gt;Well the most popular browser at the moment is Netscape Navigator, so I guess we&apos;ll go with that.
Since CSS isn&apos;t even a thing yet, good old HTML should do the trick.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;center&amp;gt;
	&amp;lt;div&amp;gt;Content&amp;lt;/div&amp;gt;
&amp;lt;/center&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now this looks like a properly centered div if I&apos;ve ever seen one.&lt;/p&gt;
&lt;p&gt;Or.. if your needs are more advanced, you could even do some weird stuff with tables:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;table width=&quot;100%&quot; height=&quot;100%&quot;&amp;gt;
	&amp;lt;tr&amp;gt;
		&amp;lt;td align=&quot;center&quot; valign=&quot;middle&quot;&amp;gt;
			&amp;lt;div&amp;gt;Content&amp;lt;/div&amp;gt;
		&amp;lt;/td&amp;gt;
	&amp;lt;/tr&amp;gt;
&amp;lt;/table&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But wait, 1996 rolls around and the first release of CSS gets to see the light of day.
Netscape, not so quickly adopts the standard and, eventually you&apos;re able to center your divs like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;width: 800px; margin: 0 auto;&quot;&amp;gt;Content&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;All good things must come to an end tho. Netscape Navigator falls from grace, and it&apos;s Microsoft&apos;s turn to play with the internet. They bless the people with Internet Explorer, and all was sunshine and rainbows after (it really wasn&apos;t).&lt;/p&gt;
&lt;p&gt;But you don&apos;t care about the monopolistic practices of a trillion dollar corporation. You&apos;re here to learn about centering divs, and that&apos;s what we&apos;ll be doing.&lt;/p&gt;
&lt;p&gt;CSS evolved, browser support for CSS evolved. You can now somewhat center the content of a div with &quot;&lt;code&gt;text-align&lt;/code&gt;&quot;:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;text-align: center;&quot;&amp;gt;Content&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Need more control? You can use &lt;code&gt;position: absolute;&lt;/code&gt; and &lt;code&gt;transform: translate()&lt;/code&gt; now. That&apos;s kinda useful.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div
	style=&quot;position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);&quot;
&amp;gt;
	Content
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ok.. ok, by this point in the timeline most browsers already support a big part of the CSS spec. Internet Explorer is eventually dethroned by Firefox, which itself is dethroned by Chrome later down the line.&lt;/p&gt;
&lt;p&gt;From this point on, CSS should work fine in all major browsers, so there&apos;s no more browser specific shenanigans and limitations. At least not for centering divs..&lt;/p&gt;
&lt;p&gt;Flexbox is popular now so you can center divs with that if you&apos;d like:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;display: flex; justify-content: center; align-items: center;&quot;&amp;gt;
	Content
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Did I say flexbox? Time moves fast in the web dev space, it&apos;s actually CSS Grid now. But don&apos;t worry, you can do literally the same thing, just replace &lt;code&gt;flex&lt;/code&gt; with &lt;code&gt;grid&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;display: grid; justify-content: center; align-items: center;&quot;&amp;gt;
	Content
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ok, fine, you wanna do it properly, I got you.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;div style=&quot;display: grid; place-items: center;&quot;&amp;gt;Content&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There you go.
You finally know how to center a div in CSS. For now at least.
Who knows what else those programming apes are going to cook up in the future. Good luck!&lt;/p&gt;
</content:encoded></item><item><title>When Few Words Do Trick</title><link>https://cocotier.ro/blog/when-few-words-do-trick/</link><guid isPermaLink="true">https://cocotier.ro/blog/when-few-words-do-trick/</guid><description>Why write big description, when small description work fine.</description><pubDate>Sat, 14 Sep 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;When I initially started writing on this version of my blog I wanted to do everything by the book. I&apos;ve read guides, I&apos;ve read books and I felt like I was ready.&lt;/p&gt;
&lt;p&gt;In the beginning I was trying to hit at least 800 words per post, as that was the length recommended by most guides I&apos;ve read at the time. It was supposed to help with SEO.
Try as I might, the best I could do was 600 something words max.&lt;/p&gt;
&lt;p&gt;Well that&apos;s discouraging.&lt;/p&gt;
&lt;p&gt;In chasing a high number of words/post I would also use lots of filler sentences, that didn&apos;t really need to be there tbh.
I was trying too hard to create a &quot;successful&quot; blog. Problem was, I didn&apos;t really define what &quot;success&quot; meant to me.&lt;/p&gt;
&lt;p&gt;I didn&apos;t see myself writing blog posts on a constant schedule, and definitely not for the rest of my life. I hate ads, so I wasn&apos;t going to monetize the blog that way, I don&apos;t use analytics either so I couldn&apos;t really measure visits.&lt;/p&gt;
&lt;p&gt;After thinking for a while, I realized that I don&apos;t really care about any kind of metrics. All I care about is that I have my own little corner of the internet. A safe space where I can share my thoughts and hopefully help some weary internet travelers along their way.&lt;/p&gt;
&lt;p&gt;The initial idea of creating a &quot;successful&quot; blog came to me from the book &lt;em&gt;&quot;&lt;a href=&quot;https://www.nicolascole.com/bookstore/the-art-and-business-of-online-writing&quot;&gt;The Art and Business of Online Writing&lt;/a&gt;&quot;&lt;/em&gt;, by Nicolas Cole. I still consider it to be a pretty good read. It still pushed me to do something I wouldn&apos;t have otherwise done, and the writing itself is quite engaging.
But my idea of success doesn&apos;t revolve around making money from writing, so it kinda made me start with the wrong expectations.&lt;/p&gt;
&lt;p&gt;I&apos;ve also read &quot;&lt;a href=&quot;https://www.freecodecamp.org/news/how-to-start-a-blog-book/&quot;&gt;How to Start a Blog&lt;/a&gt;&quot; by &lt;a href=&quot;https://flaviocopes.com/&quot;&gt;Flavio Copes&lt;/a&gt; some time ago. It kinda resonated with me more.
It has a completely different point of view, and it also encouraged me not to write long blog posts if I don&apos;t have to.&lt;/p&gt;
&lt;p&gt;After reading Flavio&apos;s book, my passion for blogging was reignited and this time I wasn&apos;t going to chase any kind of vanity metrics.&lt;/p&gt;
&lt;p&gt;I have come to the conclusion that &lt;strong&gt;few words&lt;/strong&gt; might actually &lt;strong&gt;do trick&lt;/strong&gt; most of the time (try telling &lt;em&gt;that&lt;/em&gt; to any of your professors).&lt;/p&gt;
&lt;p&gt;So don&apos;t strive for long word counts, define your goals and strive for content that aligns with them.&lt;/p&gt;
&lt;p&gt;&lt;sub&gt;Note: I haven&apos;t seen The Office, I just watched some shorts.&lt;/sub&gt;&lt;/p&gt;
</content:encoded></item><item><title>How to Change Git Name and Email across Git History</title><link>https://cocotier.ro/blog/how-to-change-git-name-and-email-across-git-history/</link><guid isPermaLink="true">https://cocotier.ro/blog/how-to-change-git-name-and-email-across-git-history/</guid><description>Git command to update name &amp; email across git history.</description><pubDate>Sat, 07 Sep 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;This snippet is stolen from &lt;a href=&quot;https://stackoverflow.com/questions/750172/how-do-i-change-the-author-and-committer-name-email-for-multiple-commits#answer-750191&quot;&gt;here&lt;/a&gt;.
I needed to change my email throughout git history some years ago and I saved the snippet in case I needed to do it again in the future.
Didn&apos;t end up needing to do it again yet, but I&apos;m sharing the snippet with you. Maybe you need it.&lt;/p&gt;
&lt;p&gt;Be careful! This snippet will change all the names and emails across the git history &lt;strong&gt;for all commits&lt;/strong&gt;. If there&apos;s multiple people that have contributed to the repo, their data will be overwritten as well. In that case you might want to use something else.&lt;/p&gt;
&lt;p&gt;Snippet:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;git filter-branch -f --env-filter \
&quot;GIT_AUTHOR_NAME=&apos;new_name&apos;; GIT_AUTHOR_EMAIL=&apos;new_email&apos;; \
GIT_COMMITTER_NAME=&apos;new_name&apos;; GIT_COMMITTER_EMAIL=&apos;new_email&apos;;&quot; HEAD
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>How to Set a Custom Resolution in Linux (X11)</title><link>https://cocotier.ro/blog/how-to-set-a-custom-resolution-in-linux-x11/</link><guid isPermaLink="true">https://cocotier.ro/blog/how-to-set-a-custom-resolution-in-linux-x11/</guid><description>Tutorial to add custom resolutions on X11.</description><pubDate>Sat, 31 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Note: This tutorial is for X11 &lt;strong&gt;only&lt;/strong&gt;. If you&apos;re using Wayland the commands presented bellow might not work!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you want to create a custom resolution that will appear in the display settings of your OS, you&apos;re going to need to use a few commands, but I&apos;ll guide you through everything so don&apos;t worry.&lt;/p&gt;
&lt;p&gt;First, you need to run &lt;code&gt;xrandr&lt;/code&gt; which will output the monitor name, and it&apos;s available resolutions.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;user@os ~&amp;gt; xrandr
Screen 0: minimum 16 x 16, current 1920 x 1080, maximum 32767 x 32767
**HDMI-1** connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
   1920x1080    143.88*+
   1440x1080    143.80
   1400x1050    143.89
   1280x1024    143.79
   1280x960     143.86
   1152x864     143.92
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Your output will be slightly different from mine, depending on your device and how many monitors you have connected.
Take note of the device name for which you want to add a new resolution option. You&apos;ll need it later.&lt;/p&gt;
&lt;p&gt;Now, run the &lt;code&gt;cvt&lt;/code&gt; command using your desired resolution as arguments.
Let&apos;s say you want to add a 1980x1080 resolution.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;user@os ~&amp;gt; cvt 1980 1080
# 1984x1080 59.92 Hz (CVT) hsync: 67.11 kHz; pclk: 178.25 MHz
Modeline **&quot;1984x1080_60.00&quot;  178.25  1984 2112 2320 2656  1080 1083 1093 1120 -hsync +vsync**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Copy everything after &quot;Modeline&quot;, and add it as the input to the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;user@os ~&amp;gt; sudo xrandr --newmode **&quot;1984x1080_60.00&quot;  178.25  1984 2112 2320 2656  1080 1083 1093 1120 -hsync +vsync**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Your custom resolution is now created. But you still have to assign it to your desired monitor. Use the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;user@os ~&amp;gt; #sudo xrandr --addmode MONITOR_NAME RESOLUTION_NAME
user@os ~&amp;gt; sudo xrandr --addmode **HDMI-1** **&quot;1984x1080_60.00&quot;**
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And that&apos;s it! Now you can go to your display settings, and you should be able to pick your custom resolution from the available options.&lt;/p&gt;
</content:encoded></item><item><title>You Should Really Start a Journal</title><link>https://cocotier.ro/blog/you-should-really-start-a-journal/</link><guid isPermaLink="true">https://cocotier.ro/blog/you-should-really-start-a-journal/</guid><description>I&apos;ve been keeping a journal for the past couple of years. These are the main reasons I do it and how it helped me.</description><pubDate>Sat, 24 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I&apos;ve been keeping a journal for the past couple of years. These are the main reasons I do it and how it helped me.&lt;/p&gt;
&lt;h2 id=&quot;why-i-started&quot; class=&quot;group&quot;&gt;Why I Started&lt;a href=&quot;#why-i-started&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I started journaling a couple of years ago as a new year&apos;s resolution. Since I knew I wanted to do it long term, I knew that writing literally every day was not possible, even though I wanted it to be.
So I created the following rules for myself:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Try to write daily&lt;/li&gt;
&lt;li&gt;If you can&apos;t, don&apos;t skip more than two consecutive days.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There&apos;s been some days when I didn&apos;t get to write in my journal. Mostly when I got home late, or sometimes when I just felt too tiered.
But I stuck to my rule. I never skipped more than 2 consecutive days.&lt;/p&gt;
&lt;h2 id=&quot;how-it-helped&quot; class=&quot;group&quot;&gt;How It Helped&lt;a href=&quot;#how-it-helped&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Writing a journal helped me rationalize my emotions and made me more aware of how I actually feel.&lt;/p&gt;
&lt;p&gt;Another great benefit is that I can look at a snapshot of what I did in the past, literally whenever I want.
If I&apos;m curious what I did or how I felt a couple of days ago, weeks, months, or even years at this point, I can easily find out.&lt;/p&gt;
&lt;p&gt;I&apos;ve seen some apps that try to somewhat emulate this benefit of looking back by simplifying the process. They ask you how you feel at the end of the day then put a certain color mark in a calendar. I feel like they&apos;re lacking detail.&lt;/p&gt;
&lt;p&gt;If you have a journal and look at what you did on a random day last year, you&apos;re going to relive those experiences a little. If you look at the color green on a random calendar day, you won&apos;t know shit about that day. A simple chain of colors don&apos;t tell you much.&lt;/p&gt;
&lt;h2 id=&quot;how-i-do-it&quot; class=&quot;group&quot;&gt;How I Do It&lt;a href=&quot;#how-i-do-it&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I use &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt; to write my journal.&lt;/p&gt;
&lt;p&gt;The Obsidian Vault is hosted in a private git repo. I push and pull to that repo from both my computer and my phone (through &lt;a href=&quot;https://termux.dev/en/&quot;&gt;Termux&lt;/a&gt;). This way I can sync my data without paying a monthly subsciption.&lt;/p&gt;
&lt;p&gt;At the time of writing this, I&apos;m on journal entry number &lt;strong&gt;887&lt;/strong&gt;. At the time of publishing I&apos;m at journal entry number &lt;strong&gt;894&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;You can get to such numbers too. All you have to do is start.&lt;/p&gt;
&lt;h2 id=&quot;how-you-can-do-it&quot; class=&quot;group&quot;&gt;How You Can Do It&lt;a href=&quot;#how-you-can-do-it&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The great thing about a journal is that &lt;strong&gt;&lt;em&gt;it&apos;s truly yours&lt;/em&gt;&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;You can write whatever you want.
You can write whenever and wherever you want.
You can write long or short entries.
You can write about how you feel, what you did during the day, or some gossip you&apos;ve heard while out for coffee.
Pick your own journaling app, or write on paper.
There are no limits. There are no rules.
You can do whatever you want.&lt;/p&gt;
&lt;p&gt;If you feel like it, you can do it the way I did it. If you don&apos;t, then don&apos;t.
Choose your own adventure!&lt;/p&gt;
&lt;p&gt;All I ask you to do is &lt;strong&gt;start&lt;/strong&gt;.&lt;/p&gt;
</content:encoded></item><item><title>How to Add Window Buttons Back in Gnome</title><link>https://cocotier.ro/blog/how-to-add-window-buttons-back-in-gnome/</link><guid isPermaLink="true">https://cocotier.ro/blog/how-to-add-window-buttons-back-in-gnome/</guid><description>Command to add minimize, maximize, and close buttons to Gnome windows.</description><pubDate>Sat, 17 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I recently installed NixOS on a laptop and discovered that by default, Gnome now ships without the minimize and maximize window buttons. I was used to them so I looked for a way of getting them back.&lt;/p&gt;
&lt;p&gt;To add them back you can simply run the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;gsettings set org.gnome.desktop.wm.preferences button-layout &quot;:minimize,maximize,close&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Note that you can change the order of the buttons by changing the order of the words. So if you want your windows to have the following button order &lt;code&gt;:maximize,minimize,close&lt;/code&gt;, you can also do that.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;:&lt;/code&gt; is for button direction, if you want them on the right side of the window, you need to put the &lt;code&gt;:&lt;/code&gt; to the left (like in the example above). If you want the buttons to be on the left side of the window, add the &lt;code&gt;:&lt;/code&gt; to the right, like so &lt;code&gt;minimize,maximize,close:&lt;/code&gt;.&lt;/p&gt;
</content:encoded></item><item><title>How to Enable Dragging Windows with Alt Click in Gnome</title><link>https://cocotier.ro/blog/how-to-enable-dragging-windows-with-alt-click-in-gnome/</link><guid isPermaLink="true">https://cocotier.ro/blog/how-to-enable-dragging-windows-with-alt-click-in-gnome/</guid><description>Commands to enable ALT Drag on Gnome windows.</description><pubDate>Sat, 10 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;By default gnome seems to be using Meta+Click to drag windows. I personally dislike this combination.&lt;/p&gt;
&lt;p&gt;To change the setting to Alt+Click for moving windows, use the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier &apos;&amp;lt;Alt&amp;gt;&apos;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you&apos;d like to be able to use Alt+Right Click to resize windows, use this command as well.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>How to Export and Import Gnome Keybindings</title><link>https://cocotier.ro/blog/how-to-export-and-import-gnome-keybindings/</link><guid isPermaLink="true">https://cocotier.ro/blog/how-to-export-and-import-gnome-keybindings/</guid><description>Commands to export and import Gnome / dconf settings.</description><pubDate>Sun, 04 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Gnome stores literally all it&apos;s settings with dconf.
Using dconf you can read (and set) the settings of every gnome app, from the calculator app to that random shell extension you downloaded of off github, all your keyboard shortcuts, everything is there.&lt;/p&gt;
&lt;p&gt;Now, I&apos;m not going to get into too much detail about how dconf works (partially because I don&apos;t really have any idea myself). What matters is that your keyboard shortcuts live there.&lt;/p&gt;
&lt;p&gt;To print every dconf setting to stdout, use the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;dconf dump /
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now that you have an idea of how dconf stores it&apos;s data, here&apos;s the paths that could contain the keybinds that you want to save:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;/org/gnome/settings-daemon/plugins/media-keys/
/org/gnome/shell/keybindings/
/org/gnome/desktop/wm/keybindings/
/org/gnome/mutter/keybindings/
/org/gnome/mutter/wayland/keybindings/
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To export your keybindings from dconf, use the following command:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;dconf dump /path/you/want/to/dump/ &amp;gt; filename.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Do this for all of the paths listed above. And don&apos;t forget to change the file name so you don&apos;t end up overwriting the same file.
Note that some of the paths may be empty, that&apos;s fine, it just means there&apos;s no keyboard shortcuts there, try the other paths.&lt;/p&gt;
&lt;p&gt;To load the data back into dconf, just do the same process backwards:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;dconf load /path/you/want/to/laod/ &amp;lt; filename.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As an example, here&apos;s how you would go about exporting every path that could contain your keybinds:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;dconf dump /org/gnome/settings-daemon/plugins/media-keys/ &amp;gt; media-keys.txt
dconf dump /org/gnome/shell/keybindings/ &amp;gt; shell-keys.txt
dconf dump /org/gnome/desktop/wm/keybindings/ &amp;gt; wm-keys.txt
dconf dump /org/gnome/mutter/keybindings/ &amp;gt; mutter-keys.txt
dconf dump /org/gnome/mutter/wayland/keybindings/ &amp;gt; mutter-wayland-keys.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And to load them:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;dconf load /org/gnome/settings-daemon/plugins/media-keys/ &amp;lt; media-keys.txt
dconf load /org/gnome/shell/keybindings/ &amp;lt; shell-keys.txt
dconf load /org/gnome/desktop/wm/keybindings/ &amp;lt; wm-keys.txt
dconf load /org/gnome/mutter/keybindings/ &amp;lt; mutter-keys.txt
dconf load /org/gnome/mutter/wayland/keybindings/ &amp;lt; mutter-wayland-keys.txt
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You could also just export and import everything with the following commands:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-sh&quot;&gt;dconf dump / &amp;gt; every-dconf-setting.txt
dconf load / &amp;lt; every-dconf-setting.txt
&lt;/code&gt;&lt;/pre&gt;
</content:encoded></item><item><title>Red Flags Are Not Real. Here’s How to Keep Your Relationship</title><link>https://cocotier.ro/blog/red-flags-are-not-real-heres-how-to-keep-your-relationship/</link><guid isPermaLink="true">https://cocotier.ro/blog/red-flags-are-not-real-heres-how-to-keep-your-relationship/</guid><description>If you keep worrying about &quot;red flags&quot; you won&apos;t get anywhere. Here&apos;s how to actually foster a healthy relationship.</description><pubDate>Fri, 08 Sep 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;What even are red flags?&lt;/p&gt;
&lt;p&gt;Red flags are signals that help you avoid &quot;bad partners&quot;. When someone has a lot of red flags you avoid starting a relationship with them. If you notice red flags after you&apos;re already together, you break up.&lt;/p&gt;
&lt;p&gt;This whole idea is wrong.&lt;/p&gt;
&lt;p&gt;The main problem with these so called &quot;red flags&quot; is that they are arbitrary. What you consider to be a red flag might be considered a green flag by someone else. With time you might even change your own oppinion on a given &quot;red flag&quot;. It&apos;s ok to have preferences in potential partners. However, it is not ok to weaponize those preferences and make someone else insecure.&lt;/p&gt;
&lt;p&gt;Another problem is that your behaviour contributes or enables these red flags.
Are they keeping their emotions from you, or are you bad at validating? Are they lazy, or are you reinforcing their behaviour?&lt;/p&gt;
&lt;p&gt;Relationships are supposed to be 50/50, but if you want yours to be successful both partners should strive to give 60%.&lt;/p&gt;
&lt;h2 id=&quot;how-you-are-sabotaging-your-relationships&quot; class=&quot;group&quot;&gt;How You Are Sabotaging Your Relationships&lt;a href=&quot;#how-you-are-sabotaging-your-relationships&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;getting-into-relationships-to-satisfy-a-personal-need&quot; class=&quot;group&quot;&gt;Getting into Relationships to Satisfy a Personal Need&lt;a href=&quot;#getting-into-relationships-to-satisfy-a-personal-need&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;If the only reason you get into a relationship is to fix something within yourself, there are high chances of failure for that relationship. You might not be doing this consciously. That&apos;s why it&apos;s important to be honest with yourself and look back on your past behaviour.&lt;/p&gt;
&lt;p&gt;Examples of personal problems you might expect a relationship to solve:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;lack of confidence&lt;/li&gt;
&lt;li&gt;feelings of lonely&lt;/li&gt;
&lt;li&gt;needing financial support&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You shouldn&apos;t get into a relationship just to fixing something within yourself. Be honest with your partner from the beginning if you are facing any kind of problems. They&apos;re your partner for a reason. They should be there to support you.&lt;/p&gt;
&lt;p&gt;People get stuck in relationships because they&apos;re afraid to face the music. They&apos;re not trying to build something with their partner, they just want their needs met.&lt;/p&gt;
&lt;p&gt;Your relationship shouldn&apos;t be the primary source in which you meet your needs. It shouldn&apos;t be a substitute for personal growth.&lt;/p&gt;
&lt;h3 id=&quot;making-excuses-for-your-partner&quot; class=&quot;group&quot;&gt;Making Excuses for Your Partner&lt;a href=&quot;#making-excuses-for-your-partner&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Constantly making excuses for your partner is a &quot;red flag&quot; within yourself. If they did something that hurt you, then they feel bad, you shouldn&apos;t forgive them just because they feel bad. You&apos;re signaling to them that it&apos;s ok for them to hurt you as long as they feel bad (or pretend to) after. They should understand that actions have consequences.&lt;/p&gt;
&lt;p&gt;Also, when either of you are making compromises, you&apos;re biased. In your mind, your favour to them is worth more than their favour to you. For example: cleaning the dishes. You don&apos;t really notice or give them credit when they do it, but when you do it you hate it and feel like they&apos;re not helping as much as they could. You&apos;re putting more value on what you give, than on what you receive. You shouldn&apos;t let them take you for granted, but you should also not take them for granted.&lt;/p&gt;
&lt;p&gt;If this is a recurring behaviour, you should talk to your partner. It could be hard for you but if you don&apos;t do it you will eventually get overwhelmed. People are capable of change, but they might not realise they need it.&lt;/p&gt;
&lt;h3 id=&quot;unequal-compromises&quot; class=&quot;group&quot;&gt;Unequal Compromises&lt;a href=&quot;#unequal-compromises&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Again, relationships are supposed to be a 50/50 job. You shouldn&apos;t take on 90% of the responsability. It&apos;s ok to make compromises, that&apos;s what relationships are all about, but your partner should also be making compromises to accomodate you.&lt;/p&gt;
&lt;p&gt;When an unequal compromise is present in a relationship the fault lies in both partners. One partner is taking advantage of the other and another is enabling the behaviour. If your partner is drinking all day and you have to do all the chores around the house, half of the blame is yours because you allow them to live like this and treat you this way.&lt;/p&gt;
&lt;p&gt;There are however lopsided capabilities. One partner might be earning more than the other or maybe they know how to cook better. You can&apos;t suddenly earn more or become a chef over night. So as long as both of you are aware of your capabilities and are ok with them, it is not a problem.&lt;/p&gt;
&lt;h2 id=&quot;end&quot; class=&quot;group&quot;&gt;End&lt;a href=&quot;#end&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This article was inspired by &lt;a href=&quot;https://youtu.be/jBWG33lGwTg&quot;&gt;a video&lt;/a&gt; from HealthyGamerGG. You are encouraged to watch the whole video for yourself if you want to get a deeper understanding of the topic.&lt;/p&gt;
</content:encoded></item><item><title>Coffee, an Unstoppable Force and How It Took over the World</title><link>https://cocotier.ro/blog/coffee-an-unstoppable-force-and-how-it-took-over-the-world/</link><guid isPermaLink="true">https://cocotier.ro/blog/coffee-an-unstoppable-force-and-how-it-took-over-the-world/</guid><description>Coffee is one of the most widely used commodities of the modern world, yet most of us are oblivious to it&apos;s history.</description><pubDate>Wed, 16 Aug 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Coffee is the most widely used drug in the world.&lt;/p&gt;
&lt;p&gt;Even though most of us consume multiple servings a day, we&apos;re still oblivious to how coffee became a household necesity. This famous drink, today enjoyed as a guilty pleasure, was at the heart of wars, industrialization and slavery.&lt;/p&gt;
&lt;p&gt;So, if you want to learn all about this and more, read on.&lt;/p&gt;
&lt;h2 id=&quot;legend&quot; class=&quot;group&quot;&gt;Legend&lt;a href=&quot;#legend&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;According to legend, a goathearder named Kaldi discovered coffee in 6th century Ethiopia when he observed how energetic his goats became after eating the berries of a certain shrub.&lt;/p&gt;
&lt;p&gt;He tried the fruit himself and realizing it&apos;s potential, he brought it to the local monks who started using it to keep themselves awake for late night prayers.&lt;/p&gt;
&lt;h2 id=&quot;african-history&quot; class=&quot;group&quot;&gt;African History&lt;a href=&quot;#african-history&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The first record of coffee consumption in liquid form comes from Yemen in the 15th century, where sufi monks would use the drink to aid in late night rituals of dance.&lt;/p&gt;
&lt;p&gt;Coffee began it&apos;s export through the islamic world from the costal town of Mokha in the south-west of Yemen, when the drink arrived to Istambul a new phenomenon emerged: coffee houses.&lt;/p&gt;
&lt;p&gt;Coffee houses were a place where people would gather to freely discuss new ideas. This reputation attracted political disidents who often discused their opposing ideologies to the regime and led to bans by dictators.&lt;/p&gt;
&lt;p&gt;However, due to coffee&apos;s popularity and profitability the bans were short lived.&lt;/p&gt;
&lt;h2 id=&quot;european-history&quot; class=&quot;group&quot;&gt;European History&lt;a href=&quot;#european-history&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Coffee first arrived in Europe through Britain in the 17th century. Because of Britain&apos;s poor sewage infrastructure, the only purified beverages at the time were alcoholic. When coffee arived in Britain, it allowed a way of purifying water that changed the drinking habbits of the nation.&lt;/p&gt;
&lt;p&gt;Each coffee house in Britain had it&apos;s unique culture, attracting different types of individuals.&lt;/p&gt;
&lt;p&gt;The London Stock Exchange was initially &lt;a href=&quot;https://www.londonstockexchange.com/discover/lseg/our-history&quot;&gt;Jonathan&apos;s Coffe House&lt;/a&gt;.
&lt;a href=&quot;https://www.lloyds.com/about-lloyds/history/&quot;&gt;Lloyd&apos;s insurance market&lt;/a&gt; began in a similar way, providing reliable shipping news to sailors, merchants and ship owners.&lt;/p&gt;
&lt;p&gt;When the industrial revolution began in 18th century England, coffee was used to keep workers awake around the clock and to make them more productive by replacing eating breaks with frequent coffee breaks.&lt;/p&gt;
&lt;p&gt;Coffee was popular but importing it from the middle east proved expensive. The european empires of the time, notably the British, Spanish, French, Portuguese and Dutch empires fixed the issue by using slave labour to cultivate coffee on colonial plantations.&lt;/p&gt;
&lt;p&gt;Not long after, coffee became one of the top colonial crops, along with sugar, cotton and tabacco.&lt;/p&gt;
&lt;h2 id=&quot;american-history&quot; class=&quot;group&quot;&gt;American History&lt;a href=&quot;#american-history&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;In America, coffee became not only a substitute for heavily taxed british tea but also a symbol of independence, the Boston Tea Party being planned at the &lt;a href=&quot;https://en.wikipedia.org/wiki/Green_Dragon_Tavern&quot;&gt;Green Dragon Tavern&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the American Civil War, Union soldiers would receive coffee as part of their daily rations, which could be argued to have helped them obtain the victory.&lt;/p&gt;
&lt;p&gt;By the 20th century, America was responsible for the yearly consumption of over half the world&apos;s coffee.&lt;/p&gt;
&lt;h2 id=&quot;is-coffee-a-drug&quot; class=&quot;group&quot;&gt;Is Coffee a Drug?&lt;a href=&quot;#is-coffee-a-drug&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Caffeine is classified as a psychoactive drug. Other psychoactive drugs include: nicotine, alcohol, cocaine, heroine, morphine and other drugs. Yet, you can still get your hands on coffee in every store.&lt;/p&gt;
&lt;p&gt;Caffeine resides in this category beacause it excites the central nervous system and increases arousal. Too much coffee can cause heart attacks, strokes and even death.&lt;/p&gt;
&lt;p&gt;However, given coffee&apos;s popularity these are relatively rare incidents so you don&apos;t have to worry to much about them.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Addictions are hard to give up not because they&apos;re harmful but because they&apos;re helpful.
&lt;cite&gt;&lt;a href=&quot;https://www.healthygamer.gg/&quot;&gt;Dr. K&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content:encoded></item><item><title>This 1 Beginner Trick Will Make You a Better Programmer</title><link>https://cocotier.ro/blog/this-1-begginer-trick-will-make-you-a-better-programmer/</link><guid isPermaLink="true">https://cocotier.ro/blog/this-1-begginer-trick-will-make-you-a-better-programmer/</guid><description>Code errors are often overlooked by programming beginners. In this article we&apos;re demistifying errors and helping you fix them.</description><pubDate>Sat, 12 Aug 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I know it&apos;s cliché at this point but what I&apos;m about to tell you will literally take your programming skills to the next level.&lt;/p&gt;
&lt;p&gt;Recently a beginner friend of mine started working on a website. He would ocasionally come to me for help with various issues he was having. Most of the time though, I found myself just repeating what the error messages already told him, granted I was doing it in simpler terms.&lt;/p&gt;
&lt;p&gt;If all you&apos;re doing when your code throws an error is &lt;code&gt;CTRL Z&lt;/code&gt; and then you write the same thing again, it&apos;s time for you to understand what code errors actually mean.&lt;/p&gt;
&lt;p&gt;There are 2 types of errors.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Syntax errors&lt;/strong&gt;: you spelled something wrong.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logic errors&lt;/strong&gt;: your code works, but not as intended.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;syntax-errors&quot; class=&quot;group&quot;&gt;Syntax Errors&lt;a href=&quot;#syntax-errors&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Syntax errors are probably the most common type of error you&apos;re going to encounter while you&apos;re learning the ins and outs of your preffered programming language.&lt;/p&gt;
&lt;p&gt;Lucky for you these are also the easiest to fix. Most times you&apos;ll get a description of what the issue actually is and you&apos;ll be pointed to the problematic line of code.&lt;/p&gt;
&lt;p&gt;Take a look at the following error:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Uncaught ReferenceError: power is not defined
    &amp;lt;anonymous&amp;gt; file:///home/user/demo.html:17
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Reading this we already know that the problem has something to do with the word &quot;power&quot; and that the error occurs on line 17 in our demo.html file.&lt;/p&gt;
&lt;p&gt;If we look at line 17 in our code, we&apos;re going to see the mistake. Instead of logging &lt;code&gt;pow&lt;/code&gt;, the actual name of the function, to the console, we tried logging &lt;code&gt;power&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;11	const array = [1, 2, 3];
12
13	const pow = array.map((e) =&amp;gt; {
14		return e * e;
15	});
16
17	console.log(power);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After we fix our code it will look like this:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;11	const array = [1, 2, 3];
12
13	const pow = array.map((e) =&amp;gt; {
14		return e * e;
15	});
16
17	console.log(pow);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;A small, but important change if we want our code to actually run.&lt;/p&gt;
&lt;p&gt;Issues won&apos;t always be this easy to spot. Your code could and will span across multiple files. Tracking down the exact issue and fixing it might take more time. However, reading and understanding the error message will get you faster to the solution.&lt;/p&gt;
&lt;h2 id=&quot;logic-errors&quot; class=&quot;group&quot;&gt;Logic Errors&lt;a href=&quot;#logic-errors&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Logic errors are sneakier. Most times you won&apos;t get an explicit error. Your code will run fine. And, from the computer&apos;s point of view everything is working as expected.&lt;/p&gt;
&lt;p&gt;Computers are great at doing what you tell them to. However, what you &lt;strong&gt;ask for&lt;/strong&gt; and what you actually &lt;strong&gt;want&lt;/strong&gt; might not always coincide.&lt;/p&gt;
&lt;p&gt;Take the following example:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;function average(a, b) {
	return a + b / 2;
}

average(1, 2); // 2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;What we &lt;strong&gt;want&lt;/strong&gt; is to return the average of two numbers, what we &lt;strong&gt;get&lt;/strong&gt; is, well.. not that.&lt;/p&gt;
&lt;p&gt;Due to the opperation order, the function will first divide &lt;code&gt;b&lt;/code&gt; by 2, and then add &lt;code&gt;a&lt;/code&gt; to it.&lt;/p&gt;
&lt;p&gt;To fix the error all we have to do is put &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; between paranthesis.&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;function average(a, b) {
	return (a + b) / 2;
}

average(1, 2); // 1.5
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now the computers adds &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; together before dividing them by 2. In this case the result we &lt;strong&gt;want&lt;/strong&gt; and the result we &lt;strong&gt;get&lt;/strong&gt; are the same.&lt;/p&gt;
&lt;p&gt;To spot logic erros faster you can add tests to your code. To be honest though, I never test my code and I&apos;m doing fine. However, some developers swear by 100% test coverage, so your milage may vary.&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot; class=&quot;group&quot;&gt;Conclusion&lt;a href=&quot;#conclusion&quot; class=&quot;opacity-0 transition-opacity no-underline group-hover:opacity-100 group-hover:text-accent hover:underline focus-visible:opacity-100 focus-visible:text-accent focus-visible:underline focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2&quot;&gt;&lt;span class=&quot;mx-2&quot;&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;You shouldn&apos;t be affraid of errors, you should embrace them. Reading, understanding and acting on code errors is the first step to take if you want to become a better programmer.&lt;/p&gt;
&lt;p&gt;I hope that this article gave you a better understanding of how to deal with errors in your code.&lt;/p&gt;
</content:encoded></item></channel></rss>