2024-11-13 21:58:08
One of the greatest weapons modern social platforms have against us is something called FOMO - the Fear of Missing Out. We are inherently social creatures and we want to belong to a group, and to do so we feel like we need to be aware of everything that is going on. We fear we’ll miss out on something important and will be left out of a social context because of that.
That instinct makes sense in an evolutionary context. Our ability to form groups and a society is what made us survive. But our ancient reptilian brain was never ready for the sheer amount of context we have access to on the internet. We can’t keep up, realistically. So that Fear turns into Anxiety.
If our brains can’t handle it, what can we do about it? Well, we can try to be rational.
How much of what you see in social media everyday is actually good for you? How much of it actually helps you build relationships with others? I don’t know about you, but to me it seems like the vast majority of it is actually harmful to both you individually and to your relationships.
There’s no shortage of people suffering from anxiety caused by seeing so many bad news all the time. And no shortage of stories of people saying they stopped talking to their relatives or friends because of something dumb someone posted online. Everyone is so angry all the time and there’s just no way of building a healthy relationship when you’re in that state.
[!info] To them, your anger is the goal It’s always worth remembering that, for commercial social platforms like Facebook, Instagram or Twitter, making you angry is the main goal. Angry people are much more likely to engage with content, which translates to bigger numbers for them, which means more ads and more money.
That means that if you’re fuming with anger at the end of a 15 minute session of scrolling through your feed, you’re not using it wrong. That is exactly what’s intended.
If bad things are most of what you see, and that erodes both your trust in humanity and your personal relationships, then shouldn’t you be happy if you miss out on it?
What if we try to exercise the opposite emotion when thinking about all that? I’ll give some personal examples.
Recently, in Brazil, there’s been a lot of public discussion around labor laws because the congress is discussing prohibiting making people work on a 6:1 schedule. There’s been so many awful, borderline criminal takes being posted online that it can truly make you lose all your hope in people (I do think most of them are rage baiting, saying something so absurd to make people engage more).
I’m not in any commercial social media platform, and only got exposed to some of the bad takes that burst out of their bubbles. My mind could definitely steer towards the thought that I’m missing out on that discussion, and I could be there to tell these people they’re stupid. But wait… those people are awful and are saying some awful things, and I’m missing out on that! I’m glad I’m missing out, because I really don’t wanna see it.
Even if you’re part of a bubble somewhere that aligns with your own thinking, sometimes it’s good to be able to identify when something’s not good for you too. After the US presidential elections, my Mastodon feed got overwhelmingly negative. I totally empathize with the feeling, but at the same time it was dragging my mood down, and there’s not really anything I could do about it. So I just… muted the topic and tuned down my usage of Mastodon. I chose to miss out on it and my brain was glad I did.
I recognize that being able to miss out and just turning off from news and social media like this is a privilege. My right to be myself is not under constant threat. A lot of the people I interact with can’t say the same, and staying ahead of the news or even just being able to vent is a necessity for them.
But, if you can, I highly recommend trying it out. You don’t have to stay on top of everything that’s happening. In fact, it’s better if you don’t. Keep some space in your mind for things you can learn from other people in an anger-free context. It’s much easier to understand their point of view and have healthy discussions without all that noise.
2024-10-31 20:00:00
🎃 Happy Halloween! 🎃 As the spirits prepare to walk among the living, I bring you some Cool Links to read while enjoying your candy. Or, if you're in the Southern Hemisphere like me, to read while taking your allergy pills because Spring is in full throttle.
This month's links are pretty much all web-related, but some are not specific to devs. It's been a busy month, so I haven't really had the time to read about more varied topics 😅. Maybe next month!
There's really nothing else I can add to this argument that Cory hasn't already said. But really, RSS is the best way to follow a publication or a person there can be. It's the best way for you to actually have control of what you read and decide when to do so.
I don't know if you've heard, but The Browser Company, the company behind the Arc Browser (which I've been using for a couple years as my main browser) has announced that they've pretty much given up on monetizing it and will just keep it working as-is in the future, with no new development.
This article reflects a bit on how it seems that tech companies seem to be running out of problems to solve, which results in great products that can't find their footing (outside of small niches) due to not really changing much about their user's lives.
The web is, at its core, just links to HTML files with some CSS and JS on top. That’s how it was years ago and how it technically still is.
Over the years, things became more complex and many layers of abstraction were introduced. A lot of web developers have never had any real contact with the core of the web.
So we ended up on a place where it’s much easier to find and use an overly-complex, bloated solution for websites than just having the bare minimum (that usually works better).
Isn’t that wild? In the author's words:
“the web doesn't belong just to software engineers. The more we make the web complex, the more we push normal users into the enclosures that we like to call social networks.”
I’ve been a web developer for over 10 years now and I can afford the luxury of building my own website - a static, simple, lean one. People with less or no coding knowledge can’t have that. They need to use tooling that ships so much code and complexity if they want to have their own. Or, even worse - they’ll stick to social media platforms instead. 😱
Building on the previous paradox: did you know that HTML was originally meant to be understandable and writable by anyone?
Before us web devs came along and scared people off, HTML was actually seen as a very simple way of structuring and linking data.
And it still is! This course aims to teach HTML to people with no technical knowledge, so they’re able to build their own simple web pages (or just mess around with existing ones, which is really fun).
nvm (Node Version Manager) is one of the best tools in my web dev toolkit. It allows you to keep multiple versions of NodeJS installed, which is usually a must if you swap between different projects all day. I’d even say it’s worth it even if you only have one version, since installing NodeJS via nvm is way easier than the official way.
This is a way of using nvm with a graphical interface, in case you’re not too fond of CLIs (or simply prefer a simple GUI instead).
These "State of" results are always fun, if only for the graphics alone. This one has pretty good data though, as 2024 was one of CSS's best years, with Container Queries, :has() (which allows for Quantity Queries), native nesting, native page transitions, and more.
I've been growing increasingly unhappy with JavaScript frameworks as of late, but I still have a soft spot for Svelte. Svelte is what my blog is built with, and it's always been a pleasure to use. Version 5 significantly changes some of its core features, apparently for the better. I'm excited to upgrade eventually (and really glad that they kept backwards compatibility).
This post is going to be on the first edition of my new newsletter! I set it up as a mirror of this blog, at least initially, so people can get notified whenever I write something new.
If you're interested, you can subscribe to it. There's not gonna be any exclusive content in there, so you're not missing anything if you don't. The blog is still going to be my main way of publishing.
2024-09-30 20:00:00
Hi there! As September ends, it's time to wake up for a new edition of Cool Links!
This month's links are mostly web development related, with a couple ideas on how to build some fun components, a brilliant jab at the current state of commercial web, a jab at React and a jab at Safari. Honestly, it's a pack of somewhat negative opinions, but presented in a fun way. 😅
I don't know about you, but I've argued with a lot of people in the past over if a specific color was blue or green. This quick test makes you categorize some colors into blue or green, and then how "green" you are compared to the rest of population. I'm not sure if there's any scientific data to back any of that up, but it's still a fun test to take.
For the record, my boundary is at hue 171, which makes me greener than 75% of the population.
This one is absolutely brilliant and nothing I can say about it will make it justice. Open it on desktop for the full effect.
I've complained about Safari multiple times in my posts and social media, and I'm not alone. This document pretty much aggregates all the issues Safari has been causing for years and how users (and devs) often have no choice of browser to run to when Safari decides it doesn't want something to work.
I am 100% in favor of browser engine diversity, and definitely don't want Chromium to be the only option out there. But Safari (and WebKit, its "heart") is not a fair competitor because the majority of its users (on iOS and iPadOS) don't have the option of using something else. And when Safari has time and time again had issues with the implementation of new APIs and, even worse, had issues with having old APIs working in a completely different way from other browsers, we have a problem.
And to make it all worse, Apple clearly has financial incentives to make Safari lag behind. A limited web experience means the only way to provide your service to users on iOS is by releasing an app... on Apple's App Store. They can't monetize web browsing, so why make it work well?
A semi-serious, semi-satire, but fully incredible short video that talks about ReactJS and how and why it became the most popular web framework. Definitely worth the watch, especially if you don't like React. Make sure to read the transcript for some added Director's notes.
I feel like more and more web developers are becoming "Framework Developers", which means they only really develop with one specific (or maybe two) JS frameworks. This is a problem because these frameworks often change how you interact with web technology. In the end, everything gets compiled to HTML, CSS and JS, but when your dev environment is so different from that, it's hard to understand exactly what you're building.
If you already know HTML, CSS and JS, then you can make that association while you're learning the framework, and things happen naturally. When the opposite happens, though, the path is more difficult.
A HTML, CSS and JS developer can learn any framework (and jump between them) with relative ease, while a React developer might have a hard time working with Vanilla JS or Svelte, for example, because they only learned the React way of thinking instead of how browsers interpret the code.
I do use a JavaScript framework (Svelte) on my website and personal projects, but I'm glad I learned the underlying technologies before diving into any framework. Having that foundation has allowed me to work professionally with a lot of different stacks (Vanilla, React, Vue, Angular, Svelte) while still keeping my foundational skills intact.
This CodePen uses pure CSS and its new-ish features to create a really neat card stacking effect! It uses Scroll Snapping (widely available) and Scroll-based animation (Chromium only for now) to both style the card stack and make sure they behave correctly.
This article dives into how the author built a logo strip (i.e. a grid of company logos with varying widths and heights) and the techniques they used to make their weight nicely distributed, way beyond what most people have done in the past (including me). I'll definitely be using that next time!
I hope you enjoyed this month's selection of Cool Links. See you next month!
2024-09-01 02:10:00
Welcome to the second ever edition of Cool Links!
This was kind of a half-month for me, as I went on vacation on the 18th and didn't really read anything worthwhile after that. Still, I was able to find some cool reads below.
As a reminder, Cool Links contains the best things that I've read during the month, not things that were published in the current month. Some of these articles were actually in my "Read Later" list for a while, actually, and I finally got to them.
So, with no further ado, here they are:
In case you do now know this blog, I highly recommend checking other posts out. "brr" is a blog made by an IT worker that worked for a few months in Antarctica, and regularly blogged about some of the unique situations and challenges faced there. They are back home now, and published a post about the challenges faced due to Antarctica's very limited internet access, and how a lot of stuff we take for granted just wasn't usable there.
Makes us think about how much code we ship on our apps and websites. Surely there are ways to make our websites work with less and require less resources to run? We never know who, how and where our users might be.
If you've ever worked with CSS variables on a project, you know one of the main challenges is getting color contrast to work correctly. When the background color changes, the text color (which should have high contrast) might not work as well. Often we handle this by having a --color-contrast
variable, but this added complexity builds up quickly.
This article goes into an alternative way that uses CSS and SVG filters to let the browser apply the contrast automatically. The CSS-only alternative has a problem with fringing, but the SVG one seems straightforward enough and gets rid of that issue. That's pretty clever!
I assume the main drawback of that approach is that you don't have full control over the text color, so if having an exact color is crucial to you, then you're still stuck with hardcoding color variables.
Generative AI has a lot of problems, but it's really good at creating some fun stuff. This tool asks for a GitHub profile handle and roasts it, using public data from your profile and your public repos. It's surprisingly good at it... and it might get your feelings hurt.
Here's a bit of what it says about mine:
Your website might be “lightweight,” but it seems like the only thing lighter is the impact of your contributions. If I wanted to stumble upon such “high-quality” work, I’d check out my toddler’s finger painting. Keep swinging that magic wand, maybe one day you'll code something that doesn't make people cringe!
I'm okay, I promise 🥲 ...
This great article goes into how Apple went from being kind of an underdog to becoming the biggest company in the world, and how that made its loyal fans from back in the 2000s kinda loathe the company nowadays, with its greedy actions and overall abuse of market power.
I never had access to any Apple products until ~4 years ago, so I never really got caught in the Apple hype train. Still, that's what I mostly use nowadays and while I like their products, it's really hard to have any kind of sympathy for them (which is honestly okay; companies should never be your friends). So, it's nice reading what someone that was in that hype train feels about all the negative Apple news that are all around us all the time.
This fantastic article talks about how we're often chasing down big goals as a form of reaching happiness, but those big highs often come with big lows right after. What if we aim to make the baseline higher instead of reaching higher highs all the time?
It kinda goes along with what I wrote about longterm goals a few months ago. Not to brag, but I think that article came out really great ;)
I read the Brazilian Portuguese version of this article, and it kind of goes into the same idea as the last one. It talks about how perfectionism can be harmful to one's self-esteem and how accepting being average allows us to try more things and to live life to the fullest. Perfectionism has nothing to do with achieving success, only with avoiding doing things we're afraid of not being good at.
I hope you enjoyed this month's selection of Cool Links. See you next month!
2024-08-29 16:23:00
While in Chicago and during a massive heat wave, I ended up going inside an Apple Store, mostly looking at a place with A/C to chill for a bit.
In there, a guy was giving out a quick presentation on the Vision Pro and mentioned there being demo slots available, so I thought why not? The demos usually take 30 minutes and it’d be cool to try out this device I’ve heard about but never had the chance to try.
For the record, the Apple Vision Pro is not currently available where I live (Brazil), and its price point ($3500) is a major turn off anyway, so I was never interested in buying it. Still, I like gadgets and was really interested in checking it out.
And… yeah, the wow factor is definitely there! The demo is fully guided and of course they take you through its most impressive features. The immersive videos and “interactive” experiences are really something - it really felt like things were right in front of me, in a not-3D-glasses way. The brain was really struggling to understand some of the things were not real.
The Vision Pro has no controller or anything similar, so you basically control and navigate the UI just using your eyes and your hands. You look at something and it will get highlighted (kinda like hovering a mouse cursor over something), and then you pinch 👌with any hand to “click” on stuff.
For me, it worked really well! I’ve seen some people saying it can be hit and miss sometimes, but I felt it quite responsive in my short time using it.
One thing that would probably be an issue though: you have to be looking exactly at where you’re clicking. Which means your eyes have to stay in sync with your hands all the time. This seems natural at first, but once you start trying to do things more quickly, you realize that’s not how you usually do things in other devices.
Try, for example, resizing or moving a window on your computer. Your eyes go to the corner of the window as you drag the mouse cursor there, but before you click, the eyes are already moving to where you want the window to be dragged to. That’s natural, as our eyes are looking for the next thing to do while our hands are still doing the action.
With the Vision Pro, that doesn’t work. Your eyes can’t be faster than your hand, they have to be the exact same speed, otherwise you will be interacting with the wrong thing.
The headset itself is pretty well made and is built with premium materials, as you’d expect from Apple. Nothing new there. But the first thing you notice when putting it on is that it is heavy. Not heavy enough to stop your head from staying straight, of course, but heavy enough for it to start to weigh down after a while.
After 30 minutes wearing it, I started to feel the weight on my neck, and I had a pretty clear “headset mark” on my face. I didn’t get any problem with my eyes, though I imagine they would get irritated more easily than with regular screens, since they’re pretty much glued to your face.
Which means, I don’t seriously think you can wear the Vision Pro for long periods of time. And I think Apple knows this, since they went for a 2h battery only. Good for a movie maybe, bad for a work session. And speaking of work…
Apple did showcase some hypothetical work situations in their Vision Pro videos, but it’s very hard to imagine someone using it for work seriously. It is technically impressive, sure, and some “what ifs” are really exciting to think about.
But when doing actual work, you want reliability, speed and flexibility. I don’t think it provides any of those.
It’s not reliable or fast because of the control issues I mentioned before. It feels like your mind has to slow down to catch up with the Vision Pro, whereas it feels like computers have caught up in speed with our minds (or did we just get used to them?).
It’s not flexible because, in the end, it runs another closed-down platform, VisionOS, which faces the same issues the iPadOS has. Great if all you do is use App Store stuff, but whenever you need something else that Apple doesn’t allow for any reason (like a clipboard manager or any tweaks to the OS itself), then you’re out of luck. There’s a reason the Mac is still the work OS for most.
Speaking of Mac, you can actually sync it with the Vision Pro and use it as an external monitor, in which you can make the screen as big as you want. I wasn’t able to see that on the demo, but honestly, even if it’s good I doubt it’s $3500 good.
To sum up my first impressions, I think it’s technically amazing, and the nerd side of me was pretty excited using it. It’s a great entertainment device (as long as you’re ok only watching what’s available), although a lonely one.
But yeah, that price point just makes it hard to be positive about it 😬