<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>devve</title>
    <link>https://devve.space/</link>
    <description>Recent content on devve</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>© 2026 devve</copyright>
    <lastBuildDate>Wed, 22 Mar 2023 22:11:00 +0000</lastBuildDate><atom:link href="https://devve.space/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Piece of my mind #1: engineered serendipity</title>
      <link>https://devve.space/posts/piece-of-my-mind-1/</link>
      <pubDate>Wed, 22 Mar 2023 22:11:00 +0000</pubDate>
      
      <guid>https://devve.space/posts/piece-of-my-mind-1/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is tagged with &lt;code&gt;#opinion&lt;/code&gt;, and thus you might not agree with me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My heart is full right now. It is on fire. But I don&amp;rsquo;t want it to stop. I want
to keep this feeling, I want to maximize it. Everything else feels muted now:
meetings, academics, routine&amp;hellip; It is all empty. I have shared this days with
friends from the good old days on a trip and I relived my 16s to 18s. It was
still there, it wasn&amp;rsquo;t me ageing and maturing or changing priorities. It was
that I moved into other surroundings that are muting me. People I am
surrounded by are not lighting my heart; pushing me forward with experiences
and moments. I mean, sometimes they do, but it is not as constant as it was
then. And I only have 4 hometown friends, but damn they are hard to beat.&lt;/p&gt;</description>
      <content>&lt;blockquote&gt;
&lt;p&gt;This article is tagged with &lt;code&gt;#opinion&lt;/code&gt;, and thus you might not agree with me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My heart is full right now. It is on fire. But I don&amp;rsquo;t want it to stop. I want
to keep this feeling, I want to maximize it. Everything else feels muted now:
meetings, academics, routine&amp;hellip; It is all empty. I have shared this days with
friends from the good old days on a trip and I relived my 16s to 18s. It was
still there, it wasn&amp;rsquo;t me ageing and maturing or changing priorities. It was
that I moved into other surroundings that are muting me. People I am
surrounded by are not lighting my heart; pushing me forward with experiences
and moments. I mean, sometimes they do, but it is not as constant as it was
then. And I only have 4 hometown friends, but damn they are hard to beat.&lt;/p&gt;
&lt;p&gt;7 years ago I was 16. I was on highschool and everything was f____ng perfect.
I had my 4 (literally 4) hometown friends. We went to class together, study
together, learning to play guitar together, work on projects, skipped classes
together&amp;hellip; Motorbike licenses and new motorbikes started coming and made it
all much easier and enjoyable. Some of 18s came by and we started getting our
car driving licenses: roadtrips, excursions&amp;hellip; Academics were always easy and
fun to do on group: evenings in the library literally just laughing, doing
mostly nothing; studying for university access exam and so on.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I know the brain tends to forget the bad stuff and keep only the highlights,
creating that feeling of the good old days. But I already knew at that time,
I was living my prime time. That sensation did not come with time after
forgetting the bad moments. I shared this thoughts with some friends, who
also find 16s to 18s to be their best years by far.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;University came by and I sought excellence, moved to another city and kept my
academics by the book. My friends moved to another city. Over the course of
this 7 years, I have not been able to find people like my hometown
friends. Not like I did not maximize my chances of doing so; I did. I joined
student associations, traveled around the world, had a wonderful year on
2019/20 (my 20s), and another wonderful 2021/22 (my 22s). If I found this
people, I have not been able to keep them around. On my first year at
university, my dad told me my hometown school friends would always be the ones
you keep for the rest of your life. To this day, neither of us can explain why
this happens, but damn is it true.&lt;/p&gt;
&lt;p&gt;During this 7 years, I noticed something about how I behave with people. I
enjoy meeting new people, learning and having experiences from and with them.
Once that starts fading out, I disconnect easily. Let&amp;rsquo;s throw a graph here:&lt;/p&gt;

  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;images/log.png&#34;  alt=&#34;Log graphs showing how much experiences or knowledge gain they give me, ideal being the diagonal: y=x with no asymptote&#34;   style=&#34;border-radius: 8px;&#34;  /&gt;
    
      &lt;figcaption class=&#34;left&#34;  style=&#34;color: green;&#34; &gt;Definitely not my best graph&lt;/figcaption&gt;
    
  &lt;/figure&gt;


&lt;p&gt;Sorry for the messy plot, give it a minute. On mode, I hold people
around for 1 or 2 years. Then, once it intercepts the yellow ideal line, my
interests shift towards someone still on the left of the diagonal (yellow
line). Some people are short lived on the left, others are long lived, and
someone could even be ideal. I have a friend who I keep learning from since I
know him (6 years now). I don&amp;rsquo;t behave this way on purpose, but I observed it
is how my brain works. I like measuring and understanding.&lt;/p&gt;
&lt;p&gt;One of my hometown friends recently posted about engineered serendipity. It is
the idea of maximizing the chances for those opportunities to take place. Sort
of &amp;ldquo;I don&amp;rsquo;t get lucky, I make my own luck&amp;rdquo;, but without the arrogance.&lt;/p&gt;

  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;images/serendipity.png&#34;  alt=&#34;A four leaves clover as a dotted pattern like in a Montecarlo&amp;#39;s Pi approximation&#34;   style=&#34;border-radius: 8px;&#34;  /&gt;
    
      &lt;figcaption class=&#34;right&#34;  style=&#34;color: green;&#34; &gt;Illustration by @drex_jpg on Instagram&lt;/figcaption&gt;
    
  &lt;/figure&gt;


&lt;p&gt;It reminds me of the Montecarlo approximation for Pi but without the square.
Back to the picture, it is possible to increase your serendipity surface area
and engineer your own luck. Your daily habits can put you in a position where
&amp;ldquo;luck&amp;rdquo; is more likely to strike. Taking it home with the use of maths, if you
live in a 2 dimension world, you are less likely to find this. Otherwise, if
you add someone orthogonal (each person is a dimension, different to yours,
even though you share the origin 0), you will end up in a 3 dimensional space,
or n dimensional. I want to find those people again; and I want them to be a
diagonal. If that makes sense.&lt;/p&gt;

  &lt;img src=&#34;images/orthogonal.jpg&#34;  alt=&#34;3d axes&#34;  class=&#34;center&#34;  style=&#34;height: 400px;&#34;  /&gt;


&lt;p&gt;Obviously you cannot connect with an unlimited n of people, so you have to
evaluate each axis and dimension with care and compatibility in mind. Dunbar&amp;rsquo;s
number is still a limitation. Some axis will make you grow towards something
you love and enjoy, others won&amp;rsquo;t: you will prune those.&lt;/p&gt;
&lt;p&gt;You may think this is very cold, but so is death; which is a very natural
process. Things have a beginning and an end, it is what it is. And it is not
just me. Most people are experiencing the same with me. I am another log curve
in their lives, a new axis in their Rn world they might not be interested in.
And that is fine.&lt;/p&gt;
&lt;p&gt;Concluding something, if there is something to conclude; this feeling I so
associate with spring, at the end of March or beginning of April, gives me the
sensation of being alive. It burns. In the finding of this feeling, I got my
first motorbike as a vehicle to adventures, people and others; and I will
continue to seek it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;About this feeling: If I feel it too often, will it compress the signal?
Will it be normalized over time, so it won&amp;rsquo;t ever be the same?&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    </item>
    
    <item>
      <title>You own nothing</title>
      <link>https://devve.space/posts/you-own-nothing/</link>
      <pubDate>Mon, 14 Nov 2022 01:30:00 +0000</pubDate>
      
      <guid>https://devve.space/posts/you-own-nothing/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This article is tagged with &lt;code&gt;#opinion&lt;/code&gt;, and thus you might not agree with me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I was a kid, Microsoft Office 2005 was a thing. If some classmate sent me
a &lt;code&gt;.doc&lt;/code&gt; from Microsoft Office 2007 there would be some incompatibility around
the corner somewhere. Thing is, years went by and you still had full access to
your Microsoft Office 2005 program. It was yours. Same with Photoshop CS4 to 6
. Now, if you cancel your 19.99 € monthly subscription to Adobe Creative Cloud,
good luck opening your &lt;code&gt;.psd&lt;/code&gt; files.&lt;/p&gt;</description>
      <content>&lt;blockquote&gt;
&lt;p&gt;This article is tagged with &lt;code&gt;#opinion&lt;/code&gt;, and thus you might not agree with me.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;When I was a kid, Microsoft Office 2005 was a thing. If some classmate sent me
a &lt;code&gt;.doc&lt;/code&gt; from Microsoft Office 2007 there would be some incompatibility around
the corner somewhere. Thing is, years went by and you still had full access to
your Microsoft Office 2005 program. It was yours. Same with Photoshop CS4 to 6
. Now, if you cancel your 19.99 € monthly subscription to Adobe Creative Cloud,
good luck opening your &lt;code&gt;.psd&lt;/code&gt; files.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;In fact, they recently removed &lt;strong&gt;colors&lt;/strong&gt; (Pantone) from Photoshop, even if
your &lt;code&gt;.psd&lt;/code&gt; files are old! Do I have to pirate colors now?
&lt;div style=&#34;position: relative; margin-bottom: 1rem; overflow: hidden; width: 100%; display: flex; justify-content: center;&#34;&gt;
	&lt;iframe
		src=&#34;https://mstdn.social/@devve/109248579194437459/embed&#34;
		class=&#34;mastodon-embed&#34;
		style=&#34;max-width: 60%; max-height: 600px; min-height: 300px; flex: 1; border: 2px solid #595aff; border-radius: 20px;&#34;
		width=&#34;60%&#34;
		allowfullscreen=&#34;allowfullscreen&#34;&gt;
	&lt;/iframe&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Of course I switched to their Free Open Source counterparts such as
&lt;mark&gt;OnlyOffice&lt;/mark&gt;, &lt;mark&gt;Gimp&lt;/mark&gt; and &lt;mark&gt;Inkscape&lt;/mark&gt;.&lt;/p&gt;
&lt;p&gt;This world is now ruled by monthly subscriptions to everything. You are most
likely renting a lot of things you would say you own, but you really don&amp;rsquo;t own
almost anything.&lt;/p&gt;
&lt;p&gt;But, what about the things you buy for real? The so called one-time purchases?
Big Corps have been pulling every play on their book to keep you hooked to
their services for as long as they can, attempting to squeeze as much revenue
from you as possible. Hell, restrictive warranties from phone manufacturers is
starting to feel like you don&amp;rsquo;t own your phone. You replaced the screen
yourself? Well, now it is out of warranty. Why aren&amp;rsquo;t there original
replacement parts available? You got a third-party replacement? If they really
cared for the environment they would show some support for local workshops or
self-service repairments instead of removing the charger from the box.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Yes, we removed the charger from the box. Use the ones you already have! But
if the battery is swollen, no doubt they will dismiss the warranty request on
the grounds of the charger not being the original.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;In this article I will exclude things I consider as renting, such as Netflix,
Spotify and others. I consider I own nothing on this platforms and I am renting
my access to those monthly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;drm&#34;&gt;DRM&lt;/h3&gt;

  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;images/drm.png&#34;  alt=&#34;Phone, CD and another phone handcuffed and chained&#34;   style=&#34;border-radius: 8px;&#34;  /&gt;
    
      &lt;figcaption class=&#34;right&#34;  style=&#34;color: green;&#34; &gt;Illustration by Brendan Mruk [CC BY-SA 3.0]&lt;/figcaption&gt;
    
  &lt;/figure&gt;


&lt;p&gt;Let&amp;rsquo;s tackle the elephant in the room: DRM or Digital Rights Management is
there to protect the content being delivered to the end consumer. You will see
this if you try to take a screenshot when watching Netflix on your phone
(content should appear black). It is there to prevent piracy, but it is also
there to avoid the end user owning what they just bought.&lt;/p&gt;
&lt;p&gt;Some years ago (and some still remains) one would buy a Blu-Ray movie and have
a physical item they could enjoy at their house. It was also protected against
piracy with some RIP protections, but it was yours. The physical part of it
made it yours. Same occurred with software: it would come in a box with a CD,
license code and installation/usage manual. Now that those are gone, it is
starting to feel like NFTs. In the digital era, copies of an item are free and
can be infinite (up to the demand, really), while Blu-Ray&amp;rsquo;s were limited on
quantity (and there were manufacturing costs).&lt;/p&gt;
&lt;p&gt;Taking it further: let&amp;rsquo;s take a book you just bought on Amazon. You can, after
searching for a while, download the &lt;code&gt;.mobi&lt;/code&gt;, &lt;code&gt;.epub&lt;/code&gt; or &lt;code&gt;.kff&lt;/code&gt; file. Well, it
turns out that this file is still not yours. You can&amp;rsquo;t get this file to your
tablet to read it there. This is because Amazon provides your devices and
account with a license to use that book (and unlocks it for you on your
devices, but it won&amp;rsquo;t do that outside their platform). So you are out of luck
if you want a PDF.&lt;/p&gt;
&lt;p&gt;It isn&amp;rsquo;t the first time I find myself doing some piracy to get the PDF out of
the book I just bought.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>It&#39;s time: let&#39;s talk decentralized</title>
      <link>https://devve.space/posts/fediverse/</link>
      <pubDate>Sat, 05 Nov 2022 00:30:00 +0000</pubDate>
      
      <guid>https://devve.space/posts/fediverse/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;While reeding, keep in mind this article is tagged as &lt;code&gt;#opinion&lt;/code&gt;.&lt;br&gt;
I may tend to illustrate stuff with mastodon, since it is the most advanced
network in the fediverse.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;concept&#34;&gt;Concept&lt;/h2&gt;
&lt;p&gt;The concept is not difficult. In fact, &lt;mark&gt;you already know it as email&lt;/mark&gt;. When you send
an email, you are reaching &lt;code&gt;someone@somewhere.thingy&lt;/code&gt;. It can be &lt;code&gt;gmail.com&lt;/code&gt;,
&lt;code&gt;yahoo.com&lt;/code&gt;, &lt;code&gt;autistici.org&lt;/code&gt; or whatever. When gmail is down, yahoo users can still
send and receive emails.&lt;/p&gt;</description>
      <content>&lt;blockquote&gt;
&lt;p&gt;While reeding, keep in mind this article is tagged as &lt;code&gt;#opinion&lt;/code&gt;.&lt;br&gt;
I may tend to illustrate stuff with mastodon, since it is the most advanced
network in the fediverse.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;concept&#34;&gt;Concept&lt;/h2&gt;
&lt;p&gt;The concept is not difficult. In fact, &lt;mark&gt;you already know it as email&lt;/mark&gt;. When you send
an email, you are reaching &lt;code&gt;someone@somewhere.thingy&lt;/code&gt;. It can be &lt;code&gt;gmail.com&lt;/code&gt;,
&lt;code&gt;yahoo.com&lt;/code&gt;, &lt;code&gt;autistici.org&lt;/code&gt; or whatever. When gmail is down, yahoo users can still
send and receive emails.&lt;/p&gt;
&lt;p&gt;Currently, when you create an account on Instagram, you are &lt;code&gt;@user(@instagram.com)&lt;/code&gt;,
but the last part is skipped since there is no other place where Instagram would
check if an account exists. The same happens with Twitter.&lt;/p&gt;
&lt;p&gt;Now imagine that Instagram, Twitter or YouTube worked as the email, because there were
different servers where the users could be registered on: &lt;code&gt;user1@mastodon.social&lt;/code&gt;,
&lt;code&gt;user2@fosstodon.social&lt;/code&gt;, &lt;code&gt;user1@mastodon.art&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The last part of this users is the instance they are registered in. The server. If
every user registered on the same instance, the fediverse wouldn&amp;rsquo;t make sense, since
a single node would concentrate all the network.&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; margin-bottom: 1rem; height: 0; overflow: hidden;&#34;&gt;
    &lt;iframe
	sandbox=&#34;allow-scripts allow-popups&#34;
	style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34;
        src=&#34;https://framatube.org/videos/embed/4294a720-f263-4ea4-9392-cf9cea4d5277&#34;
	title=&#34;What is the Fediverse?&#34;
	frameborder=&#34;0&#34;
	allowfullscreen
    &gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;Decentralized networks are resilient to censorship. If one platform &amp;ldquo;cancels&amp;rdquo; you,
you can simply pick up and move to another server. If one server goes down, the
rest remain.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;All Fediverse servers are completely free and open source software, which means
that anyone can build their own community.&lt;/p&gt;
&lt;h2 id=&#34;instances&#34;&gt;Instances&lt;/h2&gt;
&lt;p&gt;Now comes where it gets interesting. Every server has its own mindset, its little
community of alike users. Some are more general, some are LGTBIQ+, some are tech
oriented, some are art oriented, mainly for one language, and so on.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are thousands of &amp;ldquo;servers&amp;rdquo; on the Fediverse. Each is totally unique with their
own rules, themes, and even features. Most servers federate with most others.
Choose a community that is right for you, and move at any time.&lt;/p&gt;
&lt;/blockquote&gt;

  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;images/mastodon.png&#34;  alt=&#34;Community of mastodon welcoming a new user&#34;   style=&#34;border-radius: 8px;&#34;  /&gt;
    
      &lt;figcaption class=&#34;right&#34;  style=&#34;color: green;&#34; &gt;Illustration by dopatwo&lt;/figcaption&gt;
    
  &lt;/figure&gt;


&lt;p&gt;For example, the admin of your instance may have blocked fascist servers. It is
common for users to first register in a generic instance and then migrate their
account to an instance that fits them better. And that is totally fine!&lt;/p&gt;
&lt;p&gt;But you can still interact with other instances (unless they are banned by your
admin)! There will be three timelines:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The timeline you created by following certain users.&lt;/li&gt;
&lt;li&gt;Local timeline: with the activity of your instance.&lt;/li&gt;
&lt;li&gt;Federated timeline: activity of your instance and second order connections from
other instances.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;how-does-the-federation-take-place&#34;&gt;How does the federation take place&lt;/h2&gt;
&lt;p&gt;But how do they talk from one instance to another? The email world is driven by
protocols such as IMAP and SMTP, DNS entries (SPF, TXT, DMARK). Here, the fediverse
is driven by the &lt;em&gt;ActivityPub&lt;/em&gt; (and its underlyings). I won&amp;rsquo;t go further here.&lt;/p&gt;

  &lt;img src=&#34;images/activity-pub.png&#34;  alt=&#34;Instances interconnected through the ActivityPub&#34;  class=&#34;center&#34;  style=&#34;border: none; height: 400px;&#34;  /&gt;


&lt;h2 id=&#34;supporting-your-admin&#34;&gt;Supporting your admin&lt;/h2&gt;
&lt;p&gt;I donate monthly to the admin of my instance. Mostly these donations just cover the
infrastructure expenses and invoices are shared (at least on my instance). When the
expenses are not being covered, the admin shares a toot calling for help and support.&lt;/p&gt;
&lt;p&gt;You don&amp;rsquo;t have to donate, but they do not run ads and they host the instance out of
passion.&lt;/p&gt;
&lt;h2 id=&#34;what-is-out-there&#34;&gt;What is out there?&lt;/h2&gt;
&lt;p&gt;There are a few federated alternatives to commonly known services, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://joinmastodon.org/&#34;&gt;Mastodon&lt;/a&gt;: Twitter-like&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pixelfed.org/&#34;&gt;Pixelfed&lt;/a&gt;: Instagram-like&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://joinpeertube.org/&#34;&gt;PeerTube&lt;/a&gt;: YouTube-like&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://owncast.online/&#34;&gt;Owncast&lt;/a&gt;: Twitch-like&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://writefreely.org/&#34;&gt;Write Freely&lt;/a&gt;: Wattpad-like&lt;/li&gt;
&lt;li&gt;More coming! The admin of my mastodon instance is developing a TikTok-like
federated social network.&lt;/li&gt;
&lt;/ul&gt;

  &lt;figure class=&#34;center&#34; &gt;
    &lt;img src=&#34;images/branches.webp&#34;  alt=&#34;Tree with federated services categorized by type&#34;   style=&#34;border-radius: 8px;&#34;  /&gt;
    
      &lt;figcaption class=&#34;right&#34;  style=&#34;color: green;&#34; &gt;Illustration by Per Axbom&lt;/figcaption&gt;
    
  &lt;/figure&gt;


&lt;h2 id=&#34;apps&#34;&gt;Apps&lt;/h2&gt;
&lt;p&gt;Each federated social network has its own set of apps, even though some are
cross-compatible (normally between pixelfed and mastodon). You can have a look
at mastodon apps &lt;a href=&#34;https://joinmastodon.org/apps&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are also apps that support most of the social networks of the fediverse
into one app.&lt;/p&gt;
&lt;h2 id=&#34;how-is-the-people&#34;&gt;How is the people?&lt;/h2&gt;
&lt;p&gt;If there is something I can say, it is that the interactions I had into the
fediverse have been much richer than on Twitter/Instagram. They &lt;mark&gt;add value and
are not toxic&lt;/mark&gt;, since people on an instance are much more alike. It also helps that
the instance decides what servers it will not federate with, avoiding most of the
toxic interactions.&lt;/p&gt;
&lt;h2 id=&#34;considerations&#34;&gt;Considerations&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In an ideal decentralized world, as an university student you may join your
university nodes for mastodon, pixelfed and others, and then take your account
elsewhere once your studies are finished or you find a better place.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;People tend to disaggregate themselves into existing instances that fit them and no
mechanisms of protection against centralization of network power need to be
implemented (like in blockchain).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Currently, many users are migrating from Twitter and, therefore, a lot of instances
have a waiting list. Admins are not a big corporate that can scale up the servers
when needed. If you are interested, have some patience!&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;More information about the fediverse can be found &lt;a href=&#34;https://jointhefedi.com/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div style=&#34;position: relative; margin-bottom: 1rem; overflow: hidden; width: 100%; display: flex; justify-content: center;&#34;&gt;
	&lt;iframe
		src=&#34;https://mastodont.cat/@fediverse/109290893179984552/embed&#34;
		class=&#34;mastodon-embed&#34;
		style=&#34;max-width: 60%; max-height: 600px; min-height: 300px; flex: 1; border: 2px solid #595aff; border-radius: 20px;&#34;
		width=&#34;60%&#34;
		allowfullscreen=&#34;allowfullscreen&#34;&gt;
	&lt;/iframe&gt;
&lt;/div&gt;

</content>
    </item>
    
    <item>
      <title>Using your AirTag as a bluetooth speaker</title>
      <link>https://devve.space/posts/airtag-bluetooth-speaker/</link>
      <pubDate>Wed, 26 Oct 2022 23:30:00 +0000</pubDate>
      
      <guid>https://devve.space/posts/airtag-bluetooth-speaker/</guid>
      <description>&lt;p&gt;Of course the title is clickbait. Even if you were able to play music through it, the
speaker is quite tiny. I am guessing it uses a resonating frequency to make it sound
loud enough.&lt;/p&gt;
&lt;p&gt;I have an AirTag on my motorbike. Whenever my iPhone is not close, it beeps quite loud.
The thing is: I don&amp;rsquo;t have an iPhone! I have an iPad and it is always quite far from the
motorbike.&lt;/p&gt;</description>
      <content>&lt;p&gt;Of course the title is clickbait. Even if you were able to play music through it, the
speaker is quite tiny. I am guessing it uses a resonating frequency to make it sound
loud enough.&lt;/p&gt;
&lt;p&gt;I have an AirTag on my motorbike. Whenever my iPhone is not close, it beeps quite loud.
The thing is: I don&amp;rsquo;t have an iPhone! I have an iPad and it is always quite far from the
motorbike.&lt;/p&gt;
&lt;p&gt;Of course, the beeping is there on purpose. It would only beep in case the owner left
something behind, allowing for people around to notice it. If that wasn&amp;rsquo;t the case,
the sound would allow someone to know they have an AirTag with them, sharing their
location.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please never use an AirTag on something that is not yours.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I actually have two locators on my bike:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One is motorbike specific and is hidden in plain sight under the seat, allowing
the thief to disconnect it and feel successful in some way.&lt;/li&gt;
&lt;li&gt;The AirTag, hidden away. This is the fallback locator in case they disconnect and
leave the first one behind.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now I will provide the steps I followed, than also happen to be the ones that will
leave your AirTag as good as possible, without looking battle-scarred.&lt;/p&gt;
&lt;h2 id=&#34;steps&#34;&gt;Steps&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;First twist the back metal plate and take out the battery.

  &lt;img src=&#34;images/open.jpg&#34;  alt=&#34;Back metal plate, battery and AirTag from left to right&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; margin-top: 20px;&#34;  /&gt;

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;With a knife or thin blade, slowly vandalize the three places where there are
tabs. You might have a look at step 4 to better hint the key points.

  &lt;img src=&#34;images/opened.jpg&#34;  alt=&#34;From left to right: AirTag board and midplate&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; margin-top: 20px;&#34;  /&gt;

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Notice the speaker on the reverse of the plastic midplate. Now take that knife and
split the midplate and the speaker apart.

  &lt;img src=&#34;images/opened_reverse.jpg&#34;  alt=&#34;From left to right: AirTag board and midplate with speaker attached&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; margin-top: 20px;&#34;  /&gt;



  &lt;img src=&#34;images/opened_speaker_removed.jpg&#34;  alt=&#34;From left to right: AirTag board, midplate and speaker separated&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; margin-top: 20px;&#34;  /&gt;

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Leave the speaker out and close the midplate by aligning the battery contact points
and applying pressure.

  &lt;img src=&#34;images/closed.jpg&#34;  alt=&#34;Closed AirTag&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px; margin-top: 20px;&#34;  /&gt;

&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Put it back together and wait for no sound to tell you it is on.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As you can see, steps are simple enough, even though on step 2 I managed to also
vandalize my finger.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Building your own NAS</title>
      <link>https://devve.space/posts/building-your-own-nas/</link>
      <pubDate>Mon, 24 Oct 2022 17:17:00 +0000</pubDate>
      
      <guid>https://devve.space/posts/building-your-own-nas/</guid>
      <description>&lt;p&gt;Yes, I know. Get a Synology, QNAP, ASUSTOR or any other, right? Well, no. I am
fully committed to free open source software whenever I get to choose. This usually
makes things more complicated, but I learn a lot more along the way and makes it
much more fun.&lt;/p&gt;
&lt;p&gt;I mean, for sure: getting an OOTB (out of the box) experience might be good
enough for most people, but you won&amp;rsquo;t get the full banana
(context &lt;a href=&#34;https://youtu.be/-c4CNB80SRc&#34;&gt;here&lt;/a&gt;). You get a fraction of
the value and a fraction of the opportunity to learn.&lt;/p&gt;</description>
      <content>&lt;p&gt;Yes, I know. Get a Synology, QNAP, ASUSTOR or any other, right? Well, no. I am
fully committed to free open source software whenever I get to choose. This usually
makes things more complicated, but I learn a lot more along the way and makes it
much more fun.&lt;/p&gt;
&lt;p&gt;I mean, for sure: getting an OOTB (out of the box) experience might be good
enough for most people, but you won&amp;rsquo;t get the full banana
(context &lt;a href=&#34;https://youtu.be/-c4CNB80SRc&#34;&gt;here&lt;/a&gt;). You get a fraction of
the value and a fraction of the opportunity to learn.&lt;/p&gt;
&lt;h2 id=&#34;the-specs&#34;&gt;The specs&lt;/h2&gt;
&lt;p&gt;For the fast readers, lets get the specs out of the way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU: AMD Ryzen 5600G&lt;/li&gt;
&lt;li&gt;RAM: 2x16GB 3200MHz DDR4 CL16 Kingston FURY (update: now Samsung ECC 3200MHz)&lt;/li&gt;
&lt;li&gt;Motherboard: B550-I Asus ROG Strix (Mini-ITX)&lt;/li&gt;
&lt;li&gt;Cooler: Noctua NH-L9a-AM4&lt;/li&gt;
&lt;li&gt;Drives: 4x4TB Toshiba N300&lt;/li&gt;
&lt;li&gt;Case: NSC-410 by U-NAS&lt;/li&gt;
&lt;li&gt;PSU: 250 watt 1U Flex (fan replaced with Noctua 40x20mm)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;the-concept&#34;&gt;The concept&lt;/h2&gt;
&lt;p&gt;I want this NAS to be a 80% NAS and 20% server. I want it to store all my files,
serve my website and all my little microservices that are in a 2GB RAM VPS right now.
Hence, I don&amp;rsquo;t really need anything too powerful.&lt;/p&gt;
&lt;h2 id=&#34;the-case&#34;&gt;The case&lt;/h2&gt;
&lt;p&gt;Compact but spacey in the sense of storage. That is something I wanted for sure.
Therefore I aimed for 4 drives. I came across &lt;a href=&#34;https://www.u-nas.com/&#34;&gt;U-NAS&lt;/a&gt;
cases, which allow for compact size, storage options and the ability to fit an
entire Micro-ITX PC inside them. They didn&amp;rsquo;t ship them to my country, but after
reaching out to them they were kind enough to ship it here.&lt;/p&gt;
&lt;p&gt;Of course an off the shelf case was not going to cut it for me. It didn&amp;rsquo;t go with
my house. So of course I painted it matte white (so the dust wouldn&amp;rsquo;t show as much).&lt;/p&gt;

  &lt;img src=&#34;images/painting.jpg&#34;  alt=&#34;Painting the NAS case&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


&lt;p&gt;Even though a NAS can&amp;rsquo;t really be more silent than it drives, this case fans were
adding a bit to that noise. The best solution was to replace the 1U flex PSU fan with
a Noctua 40x20mm, as well as the main 120mm fan for the drives and chassis case.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please be very careful when opening up a PSU, since high capacity capacitors
could kill you.&lt;/p&gt;
&lt;/blockquote&gt;

  &lt;img src=&#34;images/psu.jpg&#34;  alt=&#34;Painting the NAS case&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


&lt;p&gt;Another thing that could make the build quieter is the chassis grill covering the
fan. A friend pointed this out to me and showed me &lt;a href=&#34;https://www.pugetsystems.com/labs/articles/Effects-of-Grill-Patterns-on-Fan-Performance-Noise-107/&#34;&gt;this research&lt;/a&gt;.
Either way I decided not to act upon, since I didn&amp;rsquo;t feel like taking a drill into
the case yet.&lt;/p&gt;

  &lt;img src=&#34;images/fans.jpg&#34;  alt=&#34;Painting the NAS case&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


&lt;h2 id=&#34;the-micro-itx-pc-inside-it&#34;&gt;The Micro-ITX PC inside it&lt;/h2&gt;
&lt;p&gt;There were some compromises to be made here, since the case leaves us with literally
4.5 cm clearance from the motherboard itself. The space is more like 5 cm, but lets
leave some for airflow&amp;rsquo;s sake. The RAM and Noctua CPU cooler allow the system to be
just as tall as the motherboard I/O; not even 1 mm further.&lt;/p&gt;

  &lt;img src=&#34;images/airflow.jpg&#34;  alt=&#34;Room left for airflow&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


&lt;p&gt;There is an issue I wasn&amp;rsquo;t really expecting until I assembled the computer. The 250
watt 1U flex PSU (non modular) has only a 4 pin CPU aux connector, while the
motherboard expects a 8 pin CPU aux. This means there will only be 2 pairs of cables
pumping extra wattage to the CPU. 4 pin should allow up to 100 watt, and my CPU is
65 watt TDP. I have tested stressing the CPU and everything seems stable. Any load
peak could take the CPU above 100 watt and crash the system, hopefully with no data
loss. A solution to this could be a new 1U flex PSU, but I will keep mine for now.&lt;/p&gt;
&lt;p&gt;Another thing to consider is the space and airflow we are working with. I have opted
for a 65 watt CPU, but it still may be too much. I will edit this section if I end up
undervolting the CPU.&lt;/p&gt;
&lt;p&gt;Update (2023-09-01): I have not undervolted the CPU, since it is running stable
at its peak during &lt;code&gt;immich&lt;/code&gt; object/face recognition processing.&lt;/p&gt;
&lt;h2 id=&#34;the-drives&#34;&gt;The drives&lt;/h2&gt;
&lt;p&gt;Here I won&amp;rsquo;t give you too much detail, since I took a friend&amp;rsquo;s word for it. I went
with Toshiba N300 drives, based on reliability and nothing else. If there is a
priority I have not mentioned until now, it is reliability. And I have not mentioned
it because it seems obvious; I mean: it is a NAS. It is supposed to store data and
exceed in doing so.&lt;/p&gt;

  &lt;img src=&#34;images/drives.jpg&#34;  alt=&#34;Hot swappable drive slot with a drive on it&#34;  class=&#34;center&#34;  style=&#34;border-radius: 8px;&#34;  /&gt;


&lt;p&gt;The only downside I found to this drives is how noisy they are when seeking. If
you want to recommend any other drives, feel free to drop a comment at the end of
this post.&lt;/p&gt;
&lt;p&gt;I chose 4TB drives because I consider it to be enough for my first build. In case I
need to increase the storage, I won&amp;rsquo;t have any other choice than increasing TB/drive
or upgrade the case (with the help of some SATA PCIe expansion card).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;When buying drives, please remember to buy very separated in time, since if you get
4 drives, same brand, same model and same batch number; and then proceed to start
using them at the same time, they will very likely start dying at the same time.
This increases the risk of irreparable RAID failure, leading to data loss.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I will also mention there are 2 M2 SSD drive slots on the motherboard, as well
as 3 2.5 inches HDD slots on the case (non hot swappable). This can be useful to
store data which needs no redundancy, like movies, music and others.&lt;/p&gt;
&lt;h2 id=&#34;the-os&#34;&gt;The OS&lt;/h2&gt;
&lt;p&gt;Of course I went with debian. Stable, reliable, trustworthy old debian. Just a clean
base to build upon.&lt;/p&gt;
&lt;h2 id=&#34;raid&#34;&gt;RAID&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;RAID stands for Redundant Array of Inexpensive Disks, allowing to have data
reliability with redundancy and cheap drives. There are a ton of articles already
covering RAID, so I will take for granted your understanding on the RAID setups.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Keeping up with reliability, I find the best compromise between useful storage and
data reliability to be in 2/4 drives able to fail with no data loss whatsoever.
Thus, RAID 10 was not going to cut it, since it allows 2/4 drives to fail if you are
lucky enough. I don&amp;rsquo;t like having luck into the equation. RAID 5 only allows for 1
drive failure with only 1 parity drive. RAID 6, as a counterpart, has 2 parity
drives (one P and one Q, actually), therefore allowing for 2 drive failures at once.&lt;/p&gt;
&lt;p&gt;Writing speeds takes a hit on RAID 6, since it needs to calculate P and Q, writing
those into each disk after the calculation takes place. It also needs CPU cycles
before writing. This is no problem in my book, but your mileage may differ. Also,
I will walk you through some workarounds in the FS section.&lt;/p&gt;
&lt;h2 id=&#34;file-system&#34;&gt;File System&lt;/h2&gt;
&lt;p&gt;After some research, I didn&amp;rsquo;t really have too many choices. &lt;code&gt;btrfs&lt;/code&gt; was my go to,
since I know a few people running it successfully. But there I went on my research
and found &lt;a href=&#34;https://btrfs.readthedocs.io/en/latest/btrfs-man5.html#raid56-status-and-recommended-practices&#34;&gt;this&lt;/a&gt;
very disencouraging disclaimer:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;There are some implementation and design deficiencies that make it unreliable for
some corner cases and the feature should not be used in production, only for
evaluation or testing. The power failure safety for metadata with &lt;code&gt;RAID56&lt;/code&gt; is not
100%.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So here I went with &lt;code&gt;OpenZFS&lt;/code&gt;, a FOSS implementation of &lt;code&gt;zfs&lt;/code&gt;. The core concepts
differ from your usual, appearing concepts such as device, &lt;code&gt;vdev&lt;/code&gt;, &lt;code&gt;zpool&lt;/code&gt; and others.
I won&amp;rsquo;t cover &lt;code&gt;zfs&lt;/code&gt; in this post, but RAID 6 equivalent would be &lt;code&gt;RAIDz2&lt;/code&gt;. There
are &lt;code&gt;RAIDz{1-3}&lt;/code&gt; depending on the parity blocks to be calculated. If N &amp;gt; {1-3}
devices fail, it will take the entire &lt;code&gt;zpool&lt;/code&gt; down.&lt;/p&gt;
&lt;p&gt;Here comes the workaround I mentioned above regarding write speeds. &lt;code&gt;zfs&lt;/code&gt; allows
for cache devices (log and special are also available &lt;code&gt;vdev&lt;/code&gt; classes). This means
the most accessed files on the pool will remain cached on the 1TB M2 SSD I mentioned
in the disks section.&lt;/p&gt;
&lt;p&gt;Modern &lt;code&gt;zpools&lt;/code&gt; won&amp;rsquo;t be taken down on a special class &lt;code&gt;vdev&lt;/code&gt; failure, but it could happen,
so keep it in mind and add redundancy if needed. Normally cache data is dirty and
not really related to data loss, but your mileage may vary here.&lt;/p&gt;
&lt;h2 id=&#34;thoughts&#34;&gt;Thoughts?&lt;/h2&gt;
&lt;p&gt;This post is tagged with the &lt;code&gt;opinion&lt;/code&gt; tag, and therefore it is based on my
experience and knowledge. I am more than open to hear your opinions, corrections
of my gained concepts and any other comment.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Contact me</title>
      <link>https://devve.space/contact/</link>
      <pubDate>Wed, 19 Oct 2022 18:13:49 +0000</pubDate>
      
      <guid>https://devve.space/contact/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Email: &lt;a href=&#34;mailto:jaimeconde@etik.com&#34;&gt;jaimeconde@etik.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mastodon: &lt;a href=&#34;https://mstdn.social/@devve&#34;&gt;@devve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;XMPP: &lt;a href=&#34;#ZgotmplZ&#34;&gt;devve@conversations.im&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Codeberg: &lt;a href=&#34;https://codeberg.org/devve&#34;&gt;devve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Github: &lt;a href=&#34;https://github.com/d3vv3&#34;&gt;d3vv3&lt;/a&gt; (only mirrors from Codeberg)&lt;/li&gt;
&lt;/ul&gt;</description>
      <content>&lt;ul&gt;
&lt;li&gt;Email: &lt;a href=&#34;mailto:jaimeconde@etik.com&#34;&gt;jaimeconde@etik.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mastodon: &lt;a href=&#34;https://mstdn.social/@devve&#34;&gt;@devve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;XMPP: &lt;a href=&#34;#ZgotmplZ&#34;&gt;devve@conversations.im&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Codeberg: &lt;a href=&#34;https://codeberg.org/devve&#34;&gt;devve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Github: &lt;a href=&#34;https://github.com/d3vv3&#34;&gt;d3vv3&lt;/a&gt; (only mirrors from Codeberg)&lt;/li&gt;
&lt;/ul&gt;
</content>
    </item>
    
    <item>
      <title>About me</title>
      <link>https://devve.space/about/</link>
      <pubDate>Wed, 19 Oct 2022 15:20:21 +0000</pubDate>
      
      <guid>https://devve.space/about/</guid>
      <description>&lt;img src=&#34;images/me.png&#34;  alt=&#34;Memoji of my face&#34;  class=&#34;center&#34;  style=&#34;height: 220px;&#34;  /&gt;


&lt;p&gt;Hi, I&amp;rsquo;m Jaime, but my nerdy buddies call me devve and so can you.
I am a software engineer with passion for good design. I currently live in
Madrid, freelancing while studying. I have helped build startups from the
ground up, such as MOVO (finally part of Cabify) and Wannalisn.&lt;/p&gt;
&lt;p&gt;I love FOSS (free open-source software). Btw, I use Debian 😉.&lt;/p&gt;
&lt;h3 id=&#34;education&#34;&gt;Education&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Telecommunication Engineering student [at] Universidad Politécnica de
Madrid. Major in Telematics.&lt;/p&gt;</description>
      <content>
  &lt;img src=&#34;images/me.png&#34;  alt=&#34;Memoji of my face&#34;  class=&#34;center&#34;  style=&#34;height: 220px;&#34;  /&gt;


&lt;p&gt;Hi, I&amp;rsquo;m Jaime, but my nerdy buddies call me devve and so can you.
I am a software engineer with passion for good design. I currently live in
Madrid, freelancing while studying. I have helped build startups from the
ground up, such as MOVO (finally part of Cabify) and Wannalisn.&lt;/p&gt;
&lt;p&gt;I love FOSS (free open-source software). Btw, I use Debian 😉.&lt;/p&gt;
&lt;h3 id=&#34;education&#34;&gt;Education&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Telecommunication Engineering student [at] Universidad Politécnica de
Madrid. Major in Telematics.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Statistical-Computational Processing of Information student [at] Universidad
Complutense de Madrid.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;interests&#34;&gt;Interests&lt;/h3&gt;
&lt;p&gt;In my free time, I like to play guitar, shoot film photography and play some sports. I also love motorcycles, and I am a happy owner of one of these happiness devices.&lt;/p&gt;
&lt;h3 id=&#34;fun-facts&#34;&gt;Fun facts&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;My memory is really bad.&lt;/li&gt;
&lt;li&gt;I also have two other happiness devices, but they are cats.&lt;/li&gt;
&lt;li&gt;I can&amp;rsquo;t draw.&lt;/li&gt;
&lt;li&gt;I don&amp;rsquo;t like justified text.&lt;/li&gt;
&lt;li&gt;My sister can&amp;rsquo;t tell whether I am joking or not.&lt;/li&gt;
&lt;li&gt;I like uncomfortable situations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I am curious about everything. Drop me a line if I can be helpful.&lt;/p&gt;
</content>
    </item>
    
  </channel>
</rss>
