EN

Blog

    iPhone market share is much smaller than I thought

    I found the Hey there! You are using WhatsApp: Enumerating Three Billion Accounts for Security and Privacy a fascinating read. Unfortunately, it confirmed once more my perception of how Meta couldn’t care less about users' personal information. How is it possible that a single server could download all that data? Unbelievable!

    Because of my love for numbers and graphs, I also spent a lot of time on the ones in the paper that, by the way, go way beyond WhatsApp. For example, the one below has to be the best representation so far of the Android-iPhone market share. I’m not a statistician, but I believe a 3.5-billion sample can generate a pretty accurate representation of reality.

    2025-11-22 at 15.47 WhatsApp users — Android-iOS.png

    To be completely honest, I thought Apple had a bigger market share in both the US and Europe, and it would be cool to see how things changed in a year or two. Meta said they patched the data downloading issue, but given their history of data leaking, I’d say there’s a good chance we’ll be able to see an updated graph in the near future.


    Steppenwolf

    It’s been so long since I first read Hermann Hesse’s Steppenwolf—back when I was twenty-something—that it feels like I’m encountering it for the very first time. But even barely remembering anything, my subconscious was probably doing its thing, because I’m still at 60% on Caliban’s War—yet for a while now, I’ve been fighting a constant urge to begin following those wolf’s steps one more time.

    2025-11-27 cover Steppenwolf.png

    I couldn’t help myself anymore and started reading it today. Wow! One memory it immediately brought back was about how deep Hesse goes into our troubled human minds—essentially the polar opposite of the vastness of The Expanse. What a contrast! Let’s go!


    Just a few weeks after the AWS issues, Cloudflare reminded us, yet again, of how centralization can make the web break so easily.


    I'm not taking my chances anymore. From Apple II to Obsidian—My digital memories now stay local.

    I can see how appealing something like the Pixel Journal can be to many people. It’s super convenient and will probably be connected to every single Google service—even Gemini—at some point. But just like the iPhone counterpart, in my opinion, it’s yet another way to imprison users in their platforms.

    Pixel Journal now available for the Pixel 8 and 9 series. 9to5Google

    I’ve lost just about all my digital notes from before 2008 because of how unreliable backup solutions were and the many times I switched to a different system (Apple II, DOS, Windows, and Mac) and software (WordStar, Word, etc.).

    Even many of my posts online, which started as static HTML and then moved to proprietary platforms, were lost several times along the way. Thankfully, I could recover some of them by digging through the Internet Archive, but that’s far from ideal.

    In 2008 I started using Evernote, which from the very beginning had something called the 3 Laws Of Data Protection:

    • Your Data is Yours
    • Your Data is Protected
    • Your Data is Portable

    The “Portable” part is technically true, and I could move all my notes to Obsidian last year, but it’s not as straightforward as they want you to believe. Anyway, I learned my lesson with the process and decided that my precious memories need better care.

    I’m not saying Obsidian is for everyone or that it is the best solution, but having my memories in Markdown format and locally saved first gives me an immense peace of mind. I’m not taking my chances anymore; even my blog posts start as Markdown notes and are locally preserved in that format.


    I'm delighted with my library in an Obsidian Bases table

    There are some posts on my blog about books I’ve read, and, of course, their notes in Obsidian are categorized with properties, making it pretty easy to create a super-cool Bases table. The one below is one of the views of my Blog.base file, created by filtering notes with the type:Blog and tag:Books properties.

    2025-11-12 19.19 My Books.png

    I enjoyed this aesthetic so much that I created a similar view for the Library page on my website. Of course, they are organized in reverse chronological order, and even with only nine books, it’s easy to see how my reading choices changed in 2025.

    I remember saying to many friends and family members a few times that I needed a pause from the real world, as it is too crazy to bear. Maybe that’s why I’m reading a lot of fiction this year.

    Anyway, because this represents just a tiny fraction of the books I’ve already read, I can’t stop thinking about how cool it would be to have my entire collection displayed like this.


    There’s no point in waiting anymore. GoatCounter stats provide me with all the information I need, and I just removed the Google Analytics code from my website. I’m proud of one more small step, as I’m no longer contributing to the tracking and spying done by big corporations.


    I needed a way to easily carry my #Pi Zero, along with all its cables and connectors, back and forth between home and the studio. To solve this, I decided to build a mount using an acrylic board in true MacGyver style 🤓. Now I can just throw it in my backpack and start learning #Python and getting familiar with #Linux wherever I am.

    I dubbed this one myself with my real voice. No AI involved. If it doesn’t start in English, you can switch to it using the settings/language selector (gear icon ⚙ at the bottom of the video player).


    Pi Zero

    2025-11-05 09.30 Pi Zero.jpg


    I’ve been using the Vivaldi browser for a few weeks, and overall, I’m pretty happy with the experience. Among its many interesting features, there’s a tracker-blocking feature, which made me aware of how much tracking Google is doing on my visitors because of the Analytics code I added to my site.

    Of course I knew that was a thing, but seeing the numbers was a bit shocking, especially because the stats Vivaldi shows me are only counting my visits to my website. So, I decided to do my part and am now trying GoatCounter, which, in their words, “doesn’t track users with unique identifiers” and “identifies unique visits without cookies or persistently storing any personal data.”

    I’ll be testing it for a few weeks, and if I’m happy with the results, I’ll remove the Google Analytics code from my site.


    #porto #opo #portugal #dog


    I’ve been gradually replacing my Action Containers subfolders and notes with Obsidian Bases tables. Each one has at least two views: (1) list of notes in progress, and (2) list of all notes of that kind. They are created using the status checkbox property.

    2025-10-30 16.56 Vault Reorganization.png

    Notes is a list of all my .md files (notes) in reverse chronological order.

    As for Organizing Blog, that’s a table of posts I have to fix. Long story short, I made a mess when I imported my blog from Obsidian Publish and have been reviewing all my posts since. The status checkbox property is also how I can tell what notes I still need to work on.


    Using the Unique Note Creator to save all of my notes and files in a single folder and my Notes table on Bases to find anything, as shown in a recent video, is working so well for me. The only thing I’m missing is a way to take a picture from inside a note on my phone. Imagine if the #Obsidian toolbar had an option like Open Camera to take a picture and have that picture saved in the default folder and the link created in the note.


    I found this wonderful chair in the trash the other day! The broken leg is the only problem, and I can definitely fix it. Everything else is in perfect condition, so I just couldn’t leave it. I don’t know if you’ve ever sat on a chair like this, but the mesh is so comfortable, and it brings back so many memories from my childhood. My grandmother had many furniture pieces like this one.

    2025-10-26 09.11 Chair in the trash.jpg

    2025-10-26 09.12 Chair in the trash.jpg.jpg


    Did I find a bug on Micro.blog? Somehow, Bluesky cross-posting survived a domain removal.

    I’m sharing the following because I’m not sure if this is how it’s supposed to work or if there is a bug. I had two sites with two different domains, each one in a separate Micro.blog account connected to separate Bluesky accounts. To make things easier to explain, let’s call them site A and B.

    After moving all the posts from A to B, I went to CloudFlare and redirected A’s domain name to B’s domain name, removed the domain name from A’s Micro.blog account, and downgraded that account to a free tier.

    Everything was working fine, but every post I made on B was being cross-posted to A’s connected Bluesky account. At first I thought the CloudFlare redirect was interfering with it, but I realized that was unlikely, as the redirect was moving site traffic from A to B, which was the opposite direction of the problematic cross-posting.

    Then today it clicked. Although I had removed the domain name from A and downgraded it to a free account, the Bluesky cross-posting was still set on that account. So, maybe, somehow the CloudFlare redirect is creating some sort of loop. 

    I just removed the cross-posting setting from A and will keep an eye on my next posts on B, starting with this one.


    I always wanted to use these guys in a project. It’s finally time 👏🏻

    2025-10-23 11.45.jpg


    I’ve been doing so many experiments with #Obsidian Bases, but one of the first things I did was to make a list of all my notes to try to mimic the way I used the #Evernote list of notes.

    I’m pretty sure some of you will ask me why I blurred tags and other information that doesn’t seem that private. Well, they are. For example, I have my car license plate as a tag, and because it starts with a number, it’s the first one that pops up in the list. Some of the Bases views have the names of places, like where my new home will be. The People property has the names of family members, clients, etc. Anyway, there’s a reason for everything I blurred.

    As for having a separate account for the videos, I do have one and use it for most recordings. However, every once in a while I like to share my real account because it has so many details I tailored over the years, and it’s impossible to keep a 100% accurate copy of that in a second account.


    The first time I watched The Expanse, I treated it like an action story I could casually watch. But after reading books 1, 2, and half of 3 and rewatching seasons 1, 2, and 3, I’m impressed by the sheer amount of details I missed the first time. Not to mention that all the details in the books expanded the story universe so much more 😆. Now, excuse me, I still have a lot to rewatch and read. Time to get back to the Rocinante! 😉


    Hi there, I need a favor from someone who doesn’t live in Brazil or Portugal. Could you please visit my website by typing only vladcampos.com (just the main address) and tell me if you were redirected to the English version?


    From now on, I'll post in two languages.

    When I got access to the multi-language audio on all my YouTube channels, I thought I’d finally be able to start posting videos in English and Portuguese on the same channel. But when I tried the feature, I quickly realized that dubbing the videos with my voice would be much harder than recording two full videos in both languages. However, I couldn’t stop thinking about how cool that would be, and maybe that’s what triggered another idea, a ‘why not?’ moment.

    Embracing the Mess

    I currently have two separate blogs mainly because of the mess categories or tags create when I use the same blog to write in both languages. For example, if you filter the posts by “obsidian”, the list will contain articles in both languages. I ended up opting for two separate blogs because I’m not a developer and have no intentions of having a complex multi-language site. Furthermore, I enjoy the simplicity and social integrations Micro.blog has.

    But what if I embrace the mess? And by “I”, I mean you! 😂

    The Tiny Theme, which is what I use on my blog, has a Microhook for the navigation menu, meaning I can set it up however I want. My idea was to use PT and EN categories for the posts and use those to create separate menus for the pages and a timeline in each language.

    After a few hours of going back and forth with Gemini, we came up with a pretty cool solution to switch from one language to the other. But since all other categories are basically the same in both languages, there will be no separation in the list of posts if a category filter is used.

    It’s a bit messy, but it’s also how my brain works. This post in particular will probably be translated because it’s an explanation of what’s happening to the blog, but my posts are rarely translated. Sometimes I feel like writing in English; other times, I prefer Portuguese.

    Merging the Socials

    Anyway, since I’m doing this with the blog, I also decided it would be a good idea to unify my social media accounts as well. Currently I have two Mastodon and two Bluesky accounts, and that’s a lot of work. So, expect posts in both languages there as well.

    Oh, you can also expect missing menus, pages, and posts while I merge everything into a single blog.

    This is just the latest chapter in my two-blog problem that’s been haunting me since forever.

    Welcome to the newly merged (and slightly chaotic) blog!


Older Posts →