MoreRSS

site iconMatt FantinelModify

Web Developer in Brazil.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Matt Fantinel

Quick Review: Mother!

2025-09-09 20:00:00

Mother!
2017, Darren Aronofsky

My rating: Loved it!

Watching this movie feels like a nightmare. Things happen and you really don’t have much say in it, then they start spiraling out of control and you’re completely unable to do anything. You can’t run, yell or fight.

The religious allegories are quite obvious and are great, but that nightmarish feeling was really something I hadn’t felt with a movie before.

Cool Links Vol. 14: August, 2025

2025-09-01 08:00:00

If anything looks wrong, read on the site!

Hi there! This month’s Cool Links are coming in a little bit later because I’m in the middle of moving. Which means, this is the last issue of Cool Links written in Brazil, at least for a while!

As I write this, my wife and I are resting a bit after 4 days of packing, selling, donating, and moving stuff over from the apartment we used to rent and into my parents’ house. We’re staying here until the 12th, when we actually depart to our next home, in Italy!

Without further ado, let’s check out the links of the month:

Fun

GAMER CHURCH

What exactly is this site? I don’t know. But it looks awesome.

Tech

uBlock Origin Lite for (iOS) Safari

Finally! I’ve been using uBlock Origin on my desktop browsers since it’s existed, and it makes the commercial web usable. Now it’s finally available for iOS Safari (maybe on the Mac too?)

Safari has had some ad blockers for a while, but none were as good as this one. This one blocks ads, trackers, and even allows hiding some page elements you select, just like the desktop version.

A must-have in all my web browsers.

Obsidian Bases

Obsidian, my note-taking, second-brain and CMS app just got a huge feature: Notion-like databases, here simply called Bases. You can use them with any files in your vault and in my initial testing, it’s pretty powerful!

I’m already using it to manage Cool Links, and looking forward to use it for more of my stuff in the future.

Are people’s bosses really making them use AI tools?, by Andy Bell

Time and time again, we’ve been seeing companies that go all-in on AI in hopes of not falling behind or standing out while the bubble doesn’t burst. This article has some real life testimonies of employees that are being forced to use AI in their work - even if it makes things harder and makes the results worse.

Dev

Better CSS layouts: Time.com Hero Section, by Ahmad Shadeed

Sharing Ahmad Shadeed’s posts here kinda feel like cheating at this point. They’re always a gem!

This one goes extremely in-depth into redesigning the hero layout of Time.com. Ahmad explains his thought process on every step of the way, and dives into a lot of fun, new-ish CSS principles like container and style queries, :has, grid and even text wrapping!

A masterclass, really.

5 Useful CSS functions using the new @function rule, by Una Kravets

CSS is finally getting functions! And if you’re struggling to think of good use cases for them or thinks they don’t make sense at all Una will change your mind real quick.

Too bad they’re still only supported in Chromium and are probably ways off from being usable in production. But it’s nice to get a glimpse of what the future holds.

An Interactive Guide to SVG Paths, by Josh Comeau

I always have trouble understanding SVGs, but thanks to this article, I will have teensy bit less trouble than before. Josh’s articles are always a gem with all the interactivity and this is no exception.

Wrapping up

Hope you enjoyed the cool links from this month, and see you on the next!

The Quest for a Good Arc Replacement

2025-08-03 08:00:00

If anything looks wrong, read on the site!

I’ve been a happy Arc user since 2022. It’s well-designed, significantly improved how I use a web browser, works well, and has (had) a team of passionate and talented people behind it that frequently pumped out some nice, weird, fun ideas. However, lately I’ve been trying to find a good replacement for it and got reminded of how hard it is to find a good option for a browser.

Why do I need a replacement?

Well, Arc has gathered a considerably big user base, and more importantly, a user base that loves the product. However, it’s always been free. You know what that means, right? It means the company operates at a loss, surviving off of VC money. And they have to pay that debt off eventually.

Personally, I’d be very happy to pay a subscription for Arc, and I know a lot of people would do so too. It’d be a far healthier business model, even if it meant the product would evolve more slowly. But you see, once VC money comes in, everything scales considerably. A loyal paying user base is not enough; you need to shoot for the stars or you fail.

Most tech companies go through this exact same route; and when they need to start paying off that debt, they enshittify; their product becomes a shadow of what it once was because it now needs to squeeze as much money as possible at every opportunity.

With Arc though, that never happened. They did some experiments with “Arc Max”, the AI offerings inside the browser, but the browser itself never got enshittified. Thankfully, I guess, it only got put aside. Arc is now no longer under active development, and is instead just receiving Chromium updates and security fixes.

My theory is that they figured out that they’d never be able to monetize a niche web browser as much as they needed, and just gave up on the product. And started working on Dia, an “AI-first browser” (that’s pretty much dead on arrival because everything it does is already being done by the big ones).

So, while Arc is still as good as it ever was, I know it’s not gonna be long before it’s sunsetted and stops getting Chromium updates. I’m trying to get a bit ahead and find a replacement to dip my toes in before I’m forced to make the jump.

Most options are just a no-no

Yes, I am especially picky with the software I use. But hey, I make a living on web browsers (and a lot of my hobbies also take place inside one), so I’m allowed to care this much about it, mkay?

When we’re talking web browsers, we have three “families”, defined by the three major browser engines available on the market:

  • Chromium-based browsers, that use the same engine as Chrome. Lots of options here, with main examples being Arc, Edge, Brave, Vivaldi, Opera;
  • Firefox-based browsers, which surprisingly use the Firefox engine. Not a lot of variety, but Zen is the standout;
  • Webkit-based browsers, which use the same engine as Safari. Besides Safari, I only know about Orion using this engine (on the Mac);
  • 🎗️ Reminder: on iOS and iPadOS, every browser uses the Safari engine, because Apple doesn’t want you to be happy (they don’t allow alternative browser engines in their App Store).

As a web developer and just someone that likes the web, I have a strong dislike for the WebKit engine, so using it willingly is just not for me.

Firefox has a really cool mission in theory (Mozilla sucks as a company though), but has been notoriously slow at adopting new web standards and has been behind even Safari lately (perhaps it has something to do with Mozilla forgetting what a web browser is for?). I love learning new things and implementing them on my work (with Progressive Enhancement, always), so it’d suck to be unable to learn new things because they don’t work on my browser of choice.

[!info] If the browser engine isn’t a dealbreaker for you, Zen browser is aiming to be pretty much a carbon copy of Arc, and it’s open source!

Which leaves me with Chromium-based browsers. Chrome, Edge and Opera are spyware (Edge has some cool features though) and Brave is owned by a bigot; leaving Vivaldi as the only real option in there.

Vivaldi (not the composer)

Vivaldi was founded by the same people who worked in the original Opera browser, back in the 90s. Since Opera was sold and became a shadow of its former self, Vivaldi was created to try and fill in the power-user-shaped gap in the browser space.

It’s Chromium-based, built in Europe, and seems to be very privacy-friendly, with a “make the web better” mission similar to Mozilla. Sadly, it’s not open source, so these claims are not verifiable.

It’s main selling feature is being extremely customizable, both visually and in how you use it.

I had already tried Vivaldi out in the past, but it never stuck the landing for me. I don’t really need extreme customizability, I prefer a thoughtfully designed UX instead. Which is why Arc appealed to me in the first place. But since no other options feel like they’d appeal to that preference, I wanted to figure out if I could either mimic my Arc workflow in Vivaldi or maybe settle for a middle ground that I could adapt to.

I figured I’d start by thinking exactly what I liked about Arc:

  1. It looks good;
  2. The Command palette-thing (cmd+t) flow is wonderful. Opening an empty new tab makes zero sense, lemme use my keyboard and get straight to what I wanna do!
  3. The vertical tabs on the side and being able to swipe between spaces is great to keep tabs from getting out of control.

With that in mind, let’s analyse Vivaldi on three criteria: The Looks, The Clacks, and The Tabs.

Criteria One: The Looks

This is the Achilles’ heel of Vivaldi, in my opinion. It doesn’t look bad, but it’s far from being as good-looking as Arc is. Some of what Arc does is just not doable (since Vivaldi doesn’t use macOS’ native technologies to build its UI), and the focus on customization means a lot of compromises have to be made. That being said, some tweaks here are there made it look kinda good.

I’m using a Catppuccin theme because I like the color palette (it’s the same as this website) and used the sliders in the Theme editor to tweak colors, radii, and spacing a little bit.

Screenshot of the Vivaldi browser. It's a very normal looking browser, with a light pastel theme applied.

Criteria Two: The Clacks

(as in the sound a keyboard makes)

After thinking about it, the command-palette-thing as a replacement for the new tab is Arc’s unsung hero:

Screenshot of Arc's command palette. I typed "Vivaldi" and the command palette is displaying suggestions for the Vivaldi site, searching for Vivaldi, and some matches in my browsing history. My active tab is still visible in the background.

It’s so elegant; it works well, it’s fast, it doesn’t get in your way, it keeps your current context in view, and it’s keyboard-centric. After three years of using it every day I barely paid any mind to it, but trying to use a browser without it was a revelation. I didn’t know how good it was until it was gone.

You wanna know something cool? Vivaldi has it, too! It’s not as elegant visually, but it works just as well! It’s called “Quick Commands”, and by default is accessed with cmd+e (on a Mac).

Screenshot of Vivaldi's command palette. Similar to Arc's, it displays a search suggestion, bookmarks and history entries that match my query. My active tab is also visible in the background.

My muscle memory was using cmd+t (new tab) to open the command palette though, so I remapped it to that shortcut. A small issue was that, by default it opens URLs in the same tab you’re currently in, but hey, Vivaldi has a toggle for everything! A quick look into the Quick Command settings presented me with a beautiful “Open Links in New Tab” checkbox.

Criteria Three: The Tabs

The main thing you notice when you start using Arc: the tabs are on the left! And they’re displayed vertically!

Vivaldi, of course, allows you to do just that. You can keep your tabs on the top, like all the boring kids do; you can put them on the left or right if you’re cool, or you can even put them in the bottom of the window if you’re all about breaking society’s expectations.

Putting them on the left was the first thing I did. Here’s how it looks:

Screenshot of Vivaldi, with tabs on the left. Their look is not very polished.

You immediately notice that while the tabs are now indeed on the left, they don’t look right (hah!). The address bar and bookmarks are still on the top and take up a lot of space, and there’s just… something missing in there. No folders, no spaces, they don’t feel as clickable, I’m not sure how to explain it. It’s not fully collapsible like Arc’s, but you can drag it to make it small enough that it only shows the favicons.

This annoyed me because I couldn’t build an exact replica of my Arc workflow, initially. The lack of spaces so I could properly separate my work and personal tabs was almost enough to make me give up on using it. But I found out about the Tab Stacks.

Tab Stacks (and the portable rabbit holes)

Tab Stacks are available in Chromium and have existed for a while now. It basically allows you to group tabs together manually, assign them a color, and collapse/expand that stack like an accordion. However, in Vivaldi they have a (optional) much better UI. Instead of expanding to the sides, they just expand into a second level of tabs.

Screenshot of Vivaldi's tab bar, showing two levels of tabs.

Surprisingly, this approach aligns much better with how I like to manage my tabs than Arc’s ever did! Very often at work I have to put whatever I’m working on on hold and quickly jump into something else for a few minutes. Being able to just stack relevant tabs together and hide the irrelevant ones makes tab management much less overwhelming.

With Arc, if I had to context switch like this, I’d often get the tabs mixed up (creating a separate space for it meant I lost the important tabs pinned to my general “Work” space). With Tab Stacks, going back to that context is just a click away, and the tabs reappear at the second level of tabs.

Something that makes Tab Stacks even better though: a checkbox in Vivaldi Settings that makes all tabs opened from within other tabs to spawn in a stack. Or, as I’d like to call it, the Portable Rabbit Hole setting.

Let’s say you’re enjoying a short break and reading the latest post of Cool Links on a beautiful website. There are so many links to click on and so many tabs to open, but you need to get back to work in 10 minutes and those tabs will get lost amidst the Jira tickets. Well, with your Portable Rabbit Hole, you no longer have that problem!

All the tabs you’ve opened by clicking on those cool links will be neatly stacked together so you can come back to them later. You can even add some color and a name to that stack if you want.

Screen recording showing the flow of opening links in a new tab and having them all stack together in a single group instead of getting mixed up with other tabs.

So, did I make the move?

Yes… and no.

I’ve been using Vivaldi pretty much daily for about a month now, and using Arc less and less. But I still miss it sometimes. So I’ve had a few days where I “relapsed” and went back to Arc for a bit.

And then something weird happened. The Arc workflow became weird to me again. Something about having bookmarks mixed together with open tabs started feeling weird. The loss of Tab Stacks also felt like a downgrade.

It’s funny how I was so afraid of not being able to get used to a “normal” browser after so much time using Arc, and now I got so used to Vivaldi that Arc became weird again. It’s still nice to use though, and I might use it as my main browser again if I feel like it.

In the end this just makes me feel better that when Arc inevitably dies, I’ll just handle it and everything will be fine. No point in not enjoying it now while I still have it.

Cool Links Vol. 13: July, 2025

2025-07-31 08:00:00

If anything looks wrong, read on the site!

Hi there! This month’s Cool Links are all about the web.

Fun

Draw a Fish Dot Com, by fifteen.games

This is what the web was made for. Just draw a fish. Then watch your creation swim with fishes from all over the world. Beautiful.

Deep Reads

Netstuck, by Mark Pitblado

This article talks a bit about the Netstuck effect, when you feel forced to use a service or platform just because everyone is there, and how that’s different from a monopoly.

As someone with no commercial social media accounts, I relate to this a lot. And even though I can live without a Facebook or Instagram account, I tried not using WhatsApp in Brazil for a couple years and just had to concede at some point, because there’s just no way of getting in contact with anyone (especially businesses) in here without it.

Dev

new Date(“wtf”)

This game tests your knowledge on JavaScript’s Date class. It’s funny because it’s sad.

Don’t animate height!, by Jim Fisher

Neat article in which Jim explains why a seemingly harmless CSS transition property (using height) was spiking up CPU usage. It goes through the thought process of identifying the issue, understanding it, and solving it. (spoiler: animating transform is much cheaper!)

A Friendly Introduction to SVG, by Josh W. Comeau

I know SVGs are amazing, and I’ve done some cool things with them. But I never really knew what I was doing. This fantastic post by Josh Comeau goes over the basics and focuses on SVGs you can create yourself through code, instead of relying on vector editing softwares like Figma or Illustrator.

I haven’t tried these tips in practice yet, but hopefully I’ll have a neat idea I can use them on soon 👀

Tech

(pt-br) Como eu salvo links e preservo conteúdos no mundo pós-Pocket, by Augusto Campos

This article (in Brazilian Portuguese) was a huge inspiration to me in reworking how I save my Cool Links, starting this month. I’m using the Obsidian Web Clipper instead of the custom solution the author had, but the principles are still the same.

Building up a weekly routine to organize things has also been a good change, as I don’t have a lot to do at the end of the month when I’m putting this post together.

Wrapping up

I hope you enjoyed the links this month! Life’s been busy with all the move preppin’, but I’m glad I was still able to grab some links.

I’ve changed how I save the links to make it easier to organize them at the end of the month, and I’m planning to build an archive of all links I’ve posted so far, in a single page. No promises as to when though; my August looks really busy already 😵

Anyway, see you next month!

Quick Review: Skeletá

2025-07-21 20:00:00

Skeletá
2025, Ghost

My rating: Loved it!

Every single Ghost album improves on the last, and this is no exception. Every single song in this is a banger, with special mentions to Lachryma, Satanized, De Profundis Borealis and Umbra. These might just be the top 4 Ghost songs ever for me.

I gotta say though, the album as a whole is not as cohesive as IMPERA was. It has better songs individually, but IMPERA felt like a better album (at least on first listen) because every song complements each other. Skeletá doesn’t have a single musical identity like that, but whatever it’s doing, every song works individually.

New Website Section: Quick Reviews!

2025-07-20 08:00:00

If anything looks wrong, read on the site!

For a little over a year, I’ve been writing quick reviews of movies and TV shows I’ve watched. I was inspired by Matt Birchler on Mastodon and his own Quick Reviews web app, and while I initially used his app to write my own and post to social media, I decided to give my reviews a home in here.

So, after gathering my reviews as Markdown files in Obsidian, they’re now in a new section here. Meet Quick Reviews!

The review cards are not images, but just web elements like everything else. Which means they are responsive and lightweight. I made it as easy as possible to publish them on my side, and there’s even a download button to allow me to quickly post them to social media!

The Technical Part

If you’re interested in how I made it work, it’s actually not that complicated.

This website already uses Markdown files for the blog posts, and since it uses Astro, fetching data for the Quick Reviews was as easy as declaring a new Content Collection, pointing to the right folder, and declaring its schema. It will all make sense in a bit.

Data Schema

First of all, I needed to define what a review would look like. Its main pieces of information are the movie/show’s name, the rating, and the content of my review. Some metadata is also nice to help tidy things up, like the date I reviewed it, the year the movie came out, and who the director was.

In Markdown, this kind of data is all part of the file’s Frontmatter, a special section at the top of the file. The only exception would be the review’s content, which is just pure Markdown, right below the frontmatter. It looks like this:

---
type: (movie/tv show)
metadata: (year, director, etc)
image: (movie poster)
rating: (my rating)
date: (when I reviewed it)
---

(what I have to say about it)

With just that, I’m able to display it however I want on my site. I added two extra properties that are specific to how I want to display them on my website: theme, with a light an dark option that mainly control the color of the text, and customBg, which allows me to set any color I want as the background.

On the Astro side of things, I declared this same schema, so Astro knows what data to look for:

import { z } from 'astro:content';
import { QuickReviewRating, QuickReviewType } from './quick-review-types'; // These are enums that match to what's in Obsidian

export const quickReviewSchema = z.object({
	type: z.enum([QuickReviewType.Movie, QuickReviewType.TvShow, QuickReviewType.Game, QuickReviewType.Album]),
	metadata: z.string().optional().nullable(),
	image: z.string().optional().nullable(),
	rating: z.enum([QuickReviewRating.DidntLikeIt, QuickReviewRating.Decent, QuickReviewRating.LikeIt, QuickReviewRating.LovedIt]),
	date: z.coerce.date(),
	theme: z.enum(['dark', 'light']),
	customBg: z.string().optional().nullable()
});

And then, on content.config.ts, I used that schema in my new Content Collection:

~filename content.config.ts

import { quickReviewSchema } from "@schemas/quick-review";

const quickReviews = defineCollection({
	loader: glob({ pattern: "**/*.md", base: "./public/cms/quick-reviews" }),
	schema: quickReviewSchema
});

export const collections = { quickReviews };

And with that, I can already use Astro’s getCollection to fetch and use that data however I want!

Saving reviews

This system is only as good as its ease of adding new reviews to. If adding reviews is too much of a hassle, then my lazy self will just stop doing it.

Obsidian has a built-in Template feature that allows you to quickly add a pre-set structure to a file, like the Frontmatter above. That already makes it better, since I can just create a file, apply the template, and just fill the missing fields. However, some steps were particularly annoying.

Finding a movie’s image, year and director usually required either a web search or opening its page in IMDB. That’s not really a big deal, but it’s still annoying to have to make that trip every time I want to write something.

Luckily, Obsidian has a gigantic ecosystem of plugins that can fill any possible niche. There is a community plugin called QuickAdd that adds a bunch of possibilities to templates. And, guess what, the plugin author even has an example of how to setup a template that automatically grabs info from IMDB into a note! I just followed the guide for the Movie & Series script and, voilà, I could have that info in my Quick Reviews in seconds!

I didn’t need all that data on my quick reviews, so I just added the ones I needed to my template. The end result looks like this:

~filename quick-review-template.md

---
type: "{{VALUE:type}}"
metadata: "{{VALUE:Year}}, {{VALUE:director}}"
image: "{{VALUE:Poster}}"
rating: 
date: ""
theme: dark
customBg:
---

And this is what the flow looks like:

Screen recording showing the flow of adding a new review in Obsidian. I use a keyboard shortcut to invoke the Quick Review dialog, type in "Kill Bill", select Kill Bill 2, and write that it's pretty good, setting the rating to "I like it"

Future Plans

Honestly, I don’t want this section to be complicated at all. It is above all a place to dump my thoughts about specific pieces of media on. I added some quick filtering for media type, but that’s it. I might revisit the layout of the reviews at some point and maybe add a special RSS feed for them, but besides that, I think I’m done.

Let me know if there’s anything you think would be cool, though. As long as it’s fun, I’m not opposed to it!