The Oaksun studio developed a mobile-optimized virtual reality experience that…

3D environment, in virtual reality, of a living room.

The Oaksun studio developed a mobile-optimized VR experience that showcases properties in a super immersive way. (It works well on both phones and computers, without the need for a virtual reality headset.) Meanwhile, in the real world, we have to deal with those hostage-style photos in rental listings…

What’s on your desk, Jônatas?

In this section, readers showcase their desks (and what's on them), explain what they use and how, and in the process, everyone learns something new. Check out other desks, and if you can, send in yours!

Hello! I’m Jônatas. I’m a developer and I also teach programming topics on my YouTube channel. Here, I work as a developer, take online German classes, stream on Twitch, and create videos for YouTube.

My setup starts with a Tuxedo InfinityBook Pro Gen 7, a company that makes Linux-focused laptops in Europe and has its own operating system, TuxedoOS. However, I use Arch Linux with the Cosmic Desktop; for recording, I switch to KDE Plasma instead of Cosmic.

(more…)

Ambient music on iOS 18.4 and the return to the Apple’s Music app

With all eyes on the launch of Apple Intelligence in Brazil and other markets, an almost overlooked feature in iOS 18.4 emerged: ambient music buttons right in the Control Center.

There are four options: Sleep, Chill, Productivity, and Wellbeing. They join the background sounds introduced in iOS 15 back in 2021, bolstering the arsenal for those overwhelmed by the noise of modern life. Thank you, Apple! 🙏

Four buttons of the new "Ambiente Music" controls of iOS 18.4: Sleep, Chill, Productivity, and Wellbeing.
Image: Manual do Usuário.

My excitement soon turned to frustration when I discovered that the Music app had to be installed for the iOS 18.4 ambient music feature to work. At first, I assumed this meant you needed an active Apple Music subscription—which, for me, is not the case.

I set that thought aside until I read this post showcasing the feature without any reference to Apple Music. Could it be that you don’t need a paid subscription for it? I downloaded the Music app and… indeed, you don’t need a subscription to enjoy the ambient music on iOS 18.4.

This discovery led me to another “issue”: having duplicate apps. I listen to music from *.mp3 files using the Doppi app. When I first embraced this lifestyle (believe me, it’s a lifestyle), I did check out the Music app, but I dismissed it for various reasons I can’t fully recall, aside from the fact that it won’t play *.flac files.

Returning to that point, the Music app still can’t handle *.flac files, though it does support ALAC, Apple’s lossless music format. I only have a few albums in *.flac—and you can probably guess where this is going.

I discovered two apps that can convert these files: XLD (macOS only) and Audio Converter (available for both macOS and Windows). Before resorting to a new app, I checked if ffmpeg—a command-line tool for converting media formats—could do the trick. Naturally, it could.

Further research led me to this script that converts files to *.m4a (the ALAC file format), preserving all metadata and even embedding an album cover image in the newly generated files.

Simply download the flac-to-alac.sh file, then run it like so:

$ ./flac-to-alac.sh /path/to/original/album /path/to/output

The script’s creator warns not to add a trailing slash (/) at the end of any path. “This is a primitive script so treat it so.” In its simplicity and quirks, it works beautifully.

Once the conversion is complete, just drag the songs into the macOS Music app, connect your iPhone via cable, and sync your library through Finder.

One extra step I took was logging out and disabling everything related to Apple Music and the iTunes Store. I may have sacrificed some conveniences, like wireless syncing (although I suspect that depends on having an Apple Music subscription), but given all the horror stories about Apple messing with users’ music files, I think using a cable to transfer music is totally worth the extra effort — it’s a rare occurrence for me, anyway.

apt 3.0.0 and 2.x, side by side, running the same command.
It’s easier to read outputs in apt 3.0.0 (left). Image: 9to5Linux.

Here’s something you don’t see every day: a major update to apt, the default package manager for Debian and derivative Linux distributions. Apt 3.0.0, accepted into Debian Sid (unstable) last Friday (4th), has a special appeal thanks to its revamped UI, featuring columns, padding, and even colors (!) to make outputs easier to read.

Apt 3.0.0 will be available in Debian 13 “Trixie”, scheduled for mid-2025, and in Ubuntu 25.04, which is expected to be released later this April.

This Wednesday (the 9th) we’re celebrating CSS Naked Day. You see, CSS stands for Cascading Style Sheets, which is basically the “clothes” of a website — a super simple yet powerful language for styling web pages. Take a look at ours.

I thought I’d jump in on the fun! Just for today. Tomorrow (the 10th) the site will be back to normal.

The free website Curved Text Generator does what its name suggests: create curved texts

Print of the Curved Text Generator website with the text “Manual do Usuário” curved using the “Pen Tool”.

Who needs Photoshop for simple things? The free website Curved Text Generator does what its name suggests: create curved texts. There are two creation modes, a free draw one and other with the “pen”, in which points and curvatures are spread on the canvas as if they were coordinates. And, of course, some customization options, such as font family and size, colors, and spacing.

WordPress is switching from three major releases a year to just one. This new cadence kicks in for 2025 — with WordPress 6.8, scheduled for next Tuesday (April 15th), set to be the only release for the year.

The change was announced during an online meeting with core contributors on March 27th, as reported by The Repository. Some of the contributors who attended the meeting shared their frustration, feeling that Matt Mullenweg, the project’s lead, had already made up his mind to slow the release cadence ahead of the discussion.

Earlier this month, Automattic let go of 16% of its workforce — about 280 folks spread across 90 countries.

It’s worth noting that the cascade of bad news for WordPress seems to have started when Matt impulsively got himself and Automattic tangled in a legal battle with WP Engine over… well, who knows what exactly.

368 Chickens is a logic game, like “tie three equals together to eliminate them”, but…

Screenshot of the beginning of the game "368 Chickens" with two chickens on the board and two (to be added) outside it.

368 Chickens is a logic game, like “tie three equals together to eliminate them”, but with an end: the goal is to rescue… 368 chickens. It’s harder than it seems. Cool detail: the site saves the state of the match, that is, you can close the tab, come back later and continue from where you left off.

Leave our UI alone

It’s not new to me to feel uneasy when I find out some software I use has just gone through a “major update.”

Take the case of the Jellyfin app for Roku OS.

On March 26th, a major update — version 3.0.0 — was released, which the developers themselves dubbed as “😵‍💫The ‘Will Someone Please Explain To Me What Is Going On’ release 🤷”. Not a great sign. According to the changelog, it was based on a fork that’s quite different from the previous stable version it replaced.

I don’t follow the development of the Jellyfin app for Roku OS, so I got a bit of a shock when I turned on the TV and saw this update. It’s, well… different. The elements are all crammed on the screen, the exposed filters are way too distracting (and the “not played” filter is never remembered), and overall, it just looks off — subjective, I know.

By the way, I found out today that the old app was re-released on the Roku store as Jellyfin Legacy on April 1st. What a relief to go back to the old UI! The reason for keeping it available is that version 3.0.0 doesn’t work with older versions of the Jellyfin Server (10.7 and below). I couldn’t help but wonder if someone who’s been running a three years old outdated Jellyfin Server version will have the foresight to check the project’s repository when faced with an incompatible Roku OS app update, only to eventually discover that there’s a new — actually, the old — app available for download.

***

Back in the day, I used to get excited about “major updates.” “Ooh, check out those Windows 7 visual effects!” “App XYZ is now easier to use!” and so on.

Sometimes I wonder if I’ve changed. I tend to think that’s not really the case. There was a lot of room for improvement back then, and developers and designers, alongside us users, were all learning how to navigate new digital interfaces for a wide range of everyday activities. Today, it feels like most UI and UX changes are done for their own sake with little reasoning or obvious benefit to the end user.

Apple has been on this trend for a while now; the Settings apps debuting in macOS 13 Ventura, in 2022, was the pinnacle (so far) of this dumb, even hostile, trend. (Here’s a good analysis.) The possibility of a complete system overhaul this September, as the rumor mill suggests, already fills me with a huge sense of dread.

It’s interesting how this issue affects both proprietary software (like Apple’s) and open-sourced ones (like Jellyfin), though it feels like it happens more often with proprietary/closed software.

Is it too much to ask that they don’t mess with what isn’t broken? Or — even better — that they favor iterative improvements over abrupt changes?

Vibe coding on Apple Shortcuts

With progress on large language models (LLMs) stalling, techbros in the industry have had to come up with new ways to signal progress and keep billions of investors’ dollars flowing while “artificial general intelligence” (sic) remains nowhere in sight.

This led to the emergence of nonsense such as the new “magic” version of ChatGPT that’s supposedly great at “creative writing,” autonomous “agents,” and more models that can “think” or “reason.” (All in quotes because these simulations are, at best, mediocre and often non-functional.)

Amid the parade of new applications for generative AI, “vibe coding” emerged — a term coined in February by Andrej Karpathy, co-founder of OpenAI.

In broad terms, vibe coding is a complete abstraction of software development. Instead of writing… code, the developer writes prompts in natural language to an AI, describing the software it hopes to achieve. The AI then spits out code which, if it doesn’t meet expectations, is reworked in the same way: with more natural language instructions given to the AI. In this setup, the developer essentially becomes a guesser. In the end — and with some luck — the session wraps up with a working application.

Programming is a powerful skill, even outside contexts like startups and world-changing ideas.

(more…)

What’s the deal with SafetyCore, the weird app that suddenly appeared on Android?

Does your phone run Android? If so, you might have noticed a new app called SafetyCore. Announced by Google in October 2024, the company has been rolling it out recently (at least here, in Brazil).

SafetyCore is designed for devices running Android 9 or later, takes up about 2 GB of storage, and according to Google “provides common infrastructure that apps can use to protect users from unwanted content.” The documentation also notes that “the classification of content runs exclusively on your device and the results aren’t shared with Google.”

Almost no one reads these docs or even warnings, alerts of an app. What definitely catches your eye is a new icon among your apps that seems to appear overnight. Is SafetyCore something to worry about?

It’s published on the Play Store and, like any other app over there, it gets ratings and comments. Its average rating is 3.5, with the highest (5) receiving the most votes overall and the lowest (1) not being insignificant in number. One standout negative comment sums up the problem (in Portuguese, here translated):

“The app installed on its own and when I tried to open it, it just showed the app info. I’m not sure if it’s legitimate or not, and that worries me and many other consumers, breaking our trust in the security of the operating system. A quick question: if the app is legitimate, is it supposed to have an icon and do something, or is it supposed to be hidden? Like, for example, Google Play Services.”

If I had to sum the issue up even more, I’d say that the way SafetyCore was released is an example of a lack of transparency and a disregard for user autonomy. No matter how good Google’s intentions may be — which, judging by the history of big tech, is far from a guarantee — this isn’t the right approach.

Apple isn’t off the hook either. At the end of December 2024, someone noticed a new option in Apple Photos: “Enhanced Visual Search,” on by default. It identifies the location of photos even when there are no geo location in the metadata, by recognizing landmarks in the images. The documentation explains that it “works without sending your photos or videos to Apple and without Apple learning about the information in those photos or videos.”

In both cases, trust is lost when features like these are enabled quietly, without giving users the option to opt-out — a practice that remind what malicious parties would adopt if their intention were installing malware on millions, even billions, of devices.

What’s frustrating is that these are promising features that seem like good ideas. Scanning for unwanted or malicious content on your device without sending data to Google’s cloud? A real step forward, if true. Improving photo search without handing over your images to a big tech company? Sounds great.

However, note that both promises are extremely difficult to verify since all the code is closed source. That alone is a huge red flag. Enabling these features by default without any notice only worsens the situation.

Obsessions

I’ve been using the my work as a tech writer as an excuse to dive into some unproductive obsessions. And when I say “obsessions,” I mean it in a pretty serious, almost clinical way.

It’s not just my work’s fault, I think. My “information diet” — reading blogs who obsess over details like which app to use for this or that, watching YouTube channels that scrutinize phone models in such detail that a normal person wouldn’t notice the difference from the last five iterations etc. — pretty much created an alternative reality that initially seemed appealing but eventually turned suffocating.

I spend an unhealthy amount of time thinking about where to host my files and emails, looking into FOSS alternatives to apps that I already have and that work perfectly fine for me, keeping up with and testing new apps that promise to be better than the ones I currently use and enjoy.

The biggest and most recent manifestation of this obsession was trading my trusted iPhone SE for an Android phone.

Switching phones isn’t just… switching phones. Even though I’m getting along fine with Android, the switch has led to even more time spent on crazy excursions in search of things that, strictly speaking, I don’t really need. It’s fun, but it’s a bottomless time sink (which I think is a waste).

In a way, indulging in this feels like eating fast food: enjoyable in the moment, yet leaving you with indigestion later and proving dangerous in the long run.

To make matters worse, the Android phone I bought is huge and heavy. Having it in my pocket is annoying, my hands ache when I try to type even a slightly lengthy message, and there’s no comfortable way to hold it for reading.

I guess I needed to make that impulse decision to try and curb the obsession. It’s kind of like a drunk taking one last swig before committing to sobriety, you know? I think it worked, because I’m having a major hangover after having a blast setting Android up exactly the way I wanted. Even so, I’m going to abort the migration — not so much because of Android, which I actually found pretty cool, but more because I miss the human hands-compatible size of the iPhone.

All of this sounds pathetic, almost comical — or tragicomic, really; it affects both me and my work. If my goal in writing about tech is to achieve a healthy relationship with technology as much as possible, I need to take a step back and rethink some things.

A timeline to bring them all together

The launch of Tapestry in early February has solidified a new category of apps — ones that attempt to create a unified timeline from different sources that, by their very nature, are like oil and water.

Tapestry joins a handful of other recent apps1Feeeed, the new Reeder, and Flipboard’s Surf — in tackling the main issue of decentralized social platforms, which is… well, decentralization itself.

The idea is pretty cool: it doesn’t matter if the people you follow are on Bluesky or Mastodon. With one of these timeline apps, you can keep up with them all at once on a single interface. It’s like centralizing the new social internet, but it’s done at the individual level rather than the platform level.

(more…)

Using ChatGPT consumes a 500 ml bottle of water; so what?

From the obvious to the outrageous, the list of concerns about artificial intelligence has grown long since late 2022, when ChatGPT took the title of “technology of the future” from the metaverse or NFTs.

I’ve been thinking a lot about one of these concerns: the excessive use of energy and water needed to satisfy the insatiable thirst of big techs and startups for more money.

What is the environmental cost of outsourcing thankless tasks to ChatGPT, like writing reports that no one reads or generating a happy birthday image for that aunt you haven’t spoken to in six years, in the family group chat?

Perhaps the most popular metric for this dilemma of the 2020s is the 500 ml water bottle for every ~50 questions to ChatGPT.

Is that a lot? A little? Is the trade-off worth it? As with everything in life, the answer is: “it depends.”

(more…)

Google is right to change Gulf of Mexico’s name in its Maps app in the US

Google will change the names of the Gulf of Mexico to the Gulf of America and revert Denali to Mount McKinley in its Maps app, aligning it with one of President Donald Trump’s weird ideas.

Someone dug up a 2008 post from Google’s public policy blog where the then-global director of the sector talks about this very issue — “How Google determines the names for bodies of water in Google Earth.”

Google has a uniform policy they call “Primary Local Usage:”

Under this policy, the English Google Earth client displays the primary, common, local name(s) given to a body of water by the sovereign nations that border it. If all bordering countries agree on the name, then the common single name is displayed (e.g. “Caribbean Sea” in English, “Mar Caribe” in Spanish, etc.). But if different countries dispute the proper name for a body of water, our policy is to display both names, with each label placed closer to the country or countries that use it.

In other languages, Google uses the common name in the language that Google Maps/Earth is being displayed in, along with an expandable button that lets you know the name isn’t universally agreed upon and lists other names that are also used.

That’s where people are giving Google a hard time, as they have (or used to have?) a policy that adopted the criteria of “primary, common, local” names for bodies of water:

[…] By saying “common”, we mean to include names which are in widespread daily use, rather than giving immediate recognition to any arbitrary governmental re-naming. In other words, if a ruler announced that henceforth the Pacific Ocean would be named after her mother, we would not add that placemark unless and until the name came into common usage.

On X, the company responded to the criticism by saying they have “a longstanding practice of applying name changes when they have been updated in official government sources.”

In the case of the US, that would be the Geographic Names Information System (GNIS). Note that the two changes — the Gulf of Mexico and Denali — haven’t been published by the GNIS yet, so Google Maps is still showing the “old” names there.

I get the frustration with the arbitrary decisions of an erratic president, but this seems like a… non-issue? If the government changes the names of bodies of water, as the US government plans to do (the executive order was published by Trump on January 20th and is pending a GNIS update), Google is right to reflect that in Maps.