Ploum.net le blog de Lionel Dricot 2024-12-02T08:23:42.634258Z https://ploum.net/ Ploumhttps://ploum.net 20 years of Linux on the Desktop (part 1) https://ploum.net/2024-10-20-20years-linux-desktop-part1.html 2024-10-20T00:00:00Z 2024-10-20T00:00:00Z <h1>20 years of Linux on the Desktop (part 1)</h1> <p>Twenty years ago, I had an epiphany: Linux was ready for the desktop.</p> <p>(*audience laughs*)</p> <p>I had been one of those teenagers invited everywhere to &quot;fix&quot; the computer. Neighbours, friends, family. Yes, that kind of nerdy teenager. You probably know what I mean. But I was tired of installing cracked antivirus and cleaning infested Microsoft Windows computers, their RAM full of malware, their CPU slowing to a crawl, with their little power LED begging me to alleviate their suffering.</p> <p>Tired of being an unpaid Microsoft support technician, I offered people to install Linux on their computer, with my full support, or to never talk with me about their computer any more.</p> <p>To my surprise, some accepted the Linux offer.</p> <p>I started to always have two CD-ROMs with me: the latest Knoppix and Debian Woody. I would first launch Knoppix, the first Live CD Linux, make a demonstration to my future victims and, more importantly, save the autogenerated XFree86 config file. I would then install Debian. When X would fail to start after installation, which was a given, I would copy the X config file from Knoppix, install GNOME 2 and OpenOffice from the testing repository and start working on what needed to be done. Like installing and launching ESD by default to allow multiple sounds. Configuring the network which was, most of the time, a USB ADSL modem requiring some proprietary firmware that I would have downloaded beforehand.</p> <p>I would also create some shell scripts for common operations: connect to Internet, mount the USB camera, etc. I put those scripts on the GNOME desktop so people could simply click to launch them. In some cases, I would make a quick Zenity interface.</p> <p>It was a lot of work upfront but, after that, it worked. People were using their computer for months or years without messing or breaking anything. Most of my complains were about running some windows software (like those on CD-ROM founds in cereal boxes).</p> <p>With GNOME 2.0, I felt that Linux was ready for the desktop. It was just really hard to install. And that could be fixed.</p> <h2 id="soustitre-1">The Perfect Desktop</h2> <p>I had my own public wiki (called the FriWiki) with a few regular contributors. On it, I wrote a long text called: &quot;Debian+GNOME=The Perfect Desktop?&quot;. It explained my observations and all the problems that needed to be fixed.</p> <p>As I wanted to improve the situation, I described how the installation should autodetect everything, like Knoppix did. I also suggested to have a LiveCD and an Installation CD that would be totally mirroring each other so you could test then install. In a perfect world, you could install directly from the LiveCD but I didn’t know if it was technically possible. That installation should also offer standard partitions schemes, autodetect and preserve the Windows partition so people would not be afraid of messing their system.</p> <p>Installation was not everything. I suggested that the user created during installation should automatically have root rights. I had learned that two passwords were really too high of a bar for most if not for all people. I don’t remember anyone understanding the &quot;root&quot; concept. Systems with multiple users were too complex to teach so I ended in every case with a single whole family account. The fact that this single account was prevented from doing some stuff on the computer was baffling. Especially for trivial things such as mounting a CD-ROM or a USB key.</p> <p>Speaking of root: installing software could be really more friendly. I imagined a synaptic-like interface which would only display main applications (not all packages) with screenshots, descriptions and reviews. I did some mockups and noted that the hardest parts would probably be the selection and the translation. I’ve lost those mockups but, in my souvenirs, they were incredibly close of what app stores would become years later.</p> <p>I, of course, insisted on installing ESD by default to multiplex sound, to include all the multimedia codecs, lbdvdcss and all possible firmware (called &quot;drivers&quot; at the time) in case hardware is added later. </p> <p>I had pages and pages of detailed analysis of every single aspect I wanted to be improved to make Linux ready for the desktop.</p> <p>With 2.0, GNOME switched to a bi-yearly release. Every six months, a new GNOME desktop would be released, no matter what. I thought it would be a nice idea to have the underlying OS released just after, to be kept in sync. But every six months was probably a bit too much work and people I knew would not upgrade as often anyway. So I advocated for a yearly release where the version number would be the full year. This would greatly help people to understand what version they were running. Like in &quot;I’m running Linux Desktop 2003&quot;.</p> <h2 id="soustitre-2">UserLinux</h2> <p>When you have a good idea, it’s probably because this idea is already in the zeitgeist of the time. I don’t believe in &quot;ownership&quot; or even &quot;stealing&quot; when it’s about ideas. Bruce Perens himself was thinking about the subject. He decided to launch UserLinux, an initiative that had the goal of doing exactly what I had in mind. </p> <p>I immediately joined the project and started to be a very vocal member, always referring to my &quot;Perfect Desktop&quot; essay. I wanted UserLinux to succeed. If Bruce Perens was behind it, it could not not succeed, right?</p> <figure> <a href="/files/userlinux.jpg"><img alt="A mockup of the UserLinux desktop (GNOME 2.0 with a custom theme)" src="/files/userlinux.jpg" width="450" class="center"></a> <figcaption>A mockup of the UserLinux desktop (GNOME 2.0 with a custom theme)</figcaption> </figure> <p>Unfortunately, most of UserLinux people were, like me, talking a lot but not doing much. The only active member was an artist who designed a logo and started to create multiple GNOME themes. It was great. And lots of discussions about how to make the theme even better ensued.</p> <p>This is how I learned about &quot;bike shedding&quot;.</p> <p>UserLinux was the ultimate bikeshedded project. To my knowledge, no code was ever written. In fact, it was not even clear what code should be written at all. After launching the initial idea, Bruce Perens was mostly discussing with us, everybody waiting for someone to &quot;do something&quot;.</p> <h2 id="soustitre-3">No-name-yet</h2> <p>At the start of 2004, I was contacted by Sébastien Bacher, a Debian developer who told me that he had read my &quot;Perfect Desktop&quot; essay months ago and forwarded it to someone who had very similar ideas. And lots of money. So much money that they were already secretly working on it and, now that it was starting to take shape, they were interested in my feedback about the very alpha version.</p> <p>I, of course, agreed and was excited. This is how I joined a mysterious project called &quot;no-name-yet&quot; with a nonameyet.com website and an IRC channel. While discussing about the project and learning it in great depth, my greatest fear was that it would become a fork of Debian. I felt strongly that one should not fork Debian lightly. Instead, it should be more a few packages and metapackages that would sit on top of Debian. Multiple people in the team assured me that the goal was to cooperate with Debian, not to fork it. </p> <p>At one point, I strongly argued with someone on IRC whose nick was &quot;sabdfl&quot;. Someone else asked me in private if I knew who it was. I didn’t.</p> <p>That’s how I learned that the project was funded by Mark Shuttleworth himself.</p> <p>Dreaming of being an astronaut, I was a huge fan of Mark Shuttleworth. The guy was an astronaut but was also a free software supporter. I knew him from the days when he tried to offer bounties to improve free software like Thunderbird. Without much success. But I was surprised to learn that Mark had also been a Debian developer.</p> <p>This guy was my hero (and still kinda is). He represented all of my dreams: an astronaut, a debian developer and a billionaire (in my order of importance). Years later, I would meet him once in the hall of an Ubuntu Summit. He was typing on his laptop, looked at me and I could not say anything other than &quot;Hello&quot;. And that was it. But I’m proud to say that his hackergothi on planet.ubuntu.com is still the one I designed for him as a way to celebrate his space flight.</p> <figure> <a href="/files/sabdfl.png"><img alt="sabdfl’s hackergotchi, designed by yours, truly" src="/files/sabdfl.png" width="450" class="center"></a> <figcaption>sabdfl’s hackergotchi, designed by yours, truly</figcaption> </figure> <p>During the spring or early summer of 2004, I received a link to the very first alpha version of no-name-yet. Which, suddenly, had a real name. And I liked it: Ubuntu. I installed Ubuntu on a partition to test. Quickly, I found myself using it daily, forgetting about my Debian partition. It was brown. Very brown at first. A bit later, it even got naked people on the login screen (and I defended sabdfl for this controversial decision). Instead of studying for my exams, I started to do lengthy reports about what could be improved, about bugs I found, etc.</p> <figure> <a href="/files/old/login.png"><img alt="The first Ubuntu login picture with three half-naked people looking toward the sky. Some alpha versions were with even fewer clothes." src="/files/old/login.png" width="450" class="center"></a> <figcaption>The first Ubuntu login picture with three half-naked people looking toward the sky. Some alpha versions were with even fewer clothes.</figcaption> </figure> <p>This makes me one of the very few people on earth who started to use Ubuntu with 4.04 (it was not named like that, of course).</p> <p>Wanting to promote Ubuntu and inspired by Tristan Nitot, I decided to start a blog.</p> <p>A blog which, coincidentally, was started the very same day the first public Ubuntu was released, exactly twenty years ago. </p> <p>A blog you are reading right now.</p> <p>And this was just the beginning…</p> <p>(to be continued)</p> <blockquote> Subscribe by email or by rss to get the next episodes of &quot;20 years of Linux on the Desktop&quot;.<br> <br> I’m currently turning this story into a book. I’m looking for an agent or a publisher interested to work with me on this book and on an English translation of &quot;Bikepunk&quot;, my new post-apocalyptic-cyclist typewritten novel. <br></blockquote> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net On Open Source and the Sustainability of the Commons https://ploum.net/2024-07-01-opensource_sustainability.html 2024-07-01T00:00:00Z 2024-07-01T00:00:00Z <h1>On Open Source and the Sustainability of the Commons</h1> <p>TL;DR: put your open source code under the AGPL license.</p> <p>Much have been said about the need to pay Open Source developers for their work and the fact that huge corporations use open source software without contributing back.</p> <p>Most articles I’ve been reading on the subject completely miss the mark. Plenty of commentators try to reinvent some kind of &quot;free software but with forced contributions&quot; or &quot;free software but non-commercial&quot;. Those are naive and wrong. If you impose limitations, it’s, by definition, not free software anymore.</p> <p>The problem is not about Open Source or Free Software. The problem is everything else.</p> <p>Open Source utopia, as envisioned until the first decade of this millennium, was to create a huge, powerful stack of open-source software that would serve as the foundations of any human endeavour. Including building businesses or, for some, proprietary products. Free Software would be part of the commons, a huge natural pool of resources. Every business would be small in comparison. Just like we allowed private companies to sell water (a common good) thinking the companies would be small compared to the nearly infinite supply of water.</p> <p>We were naive.</p> <p>What we got is more or less the opposite: huge monopolistic corporations and lots of small fragmented free software pieces that connect them. Bottled soda factories pumping so much water that whole populations start to suffer from the lack of fresh water and, as a consequence, being forced to buy bottled water.</p> <p>Technically, Open Source won. Politically, it lost. The reason is simple: it was easier to build consensus around technical solutions, washing away political implications that were seen as out of scope or too hard to agree.</p> <p>Every megacorporation is now built on top of free software. But they managed to make it effectively proprietary by hiding their code behind web interfaces. When publicly distributed, the open-source code is hidden behind layers of indirection bypassing any packaging/integration effort, relying instead on virtualisation and downloading dependencies on the fly. Thanks to those strategies, corporations could benefit from open source code without any consequence. The open source code is, anyway, mostly hosted and developed on proprietary platforms.</p> <p>Even hardcore free software geeks now use some dependencies/plugins mechanisms that are hardcoded to only look at Github. Through nested dependencies, millions of people are running code directly downloaded from Github without even realising it. </p> <ul> <li><a href="/2023-02-22-leaving-github.html">We need to talk about your Github addiction (ploum.net)</a></li> </ul> <p>Due to the original open-source utopia paradigm, every time a developer push free code on Github, she feels like she’s contributing to the commons. But, effectively, she’s pushing code into production in hundreds of exploitive corporate projects. When a problem occurs, per corporate tradition, pressure and blame fall on the maintainer. Even if that maintainer is not on the payroll.</p> <h2 id="soustitre-1">Paying the Maintainer Makes the Problem Worse</h2> <p>That will be an extremely unpopular opinion but I’m convinced that paying the contributor/maintainer a dime is not the solution. It worsen the situation. It acknowledges the responsibility of the aforementioned maintainer and legitimises the exploitation. </p> <p>We need to remember that most (if not all) free software is provided, &quot;without liability&quot;. That rule should be enforced. We should not care about corporations. If there was no support contract prior hand, let them burn. Trying to force corporations to pay the maintainer is like trying to force landlords to pay firefighters only if their house is burning. Or agreeing that a factory should give a small tip to volunteers cleaning the river it is polluting.</p> <p>Paid and unpaid open source developers are pressed into providing a support they never promised in the first time. So they ask companies for mandatory contributions, something they explicitly refused when they licensed their code.</p> <p>So, what can we do?</p> <p>In the short term, it’s very simple. If you care about the commons, you should put your work under a strong copyleft license like the AGPL. That way, we will get back to building that commons we lost because of web services. If someone ever complains that a web service broke because of your AGPL code, reply that the whole web service should be under the AGPL too.</p> <ul> <li><a href="/2023-06-19-more-rms.html">We need more of Richard Stallman, not less (ploum.net)</a></li> </ul> <p>We were tricked into thinking that BSD or MIT licences were &quot;freer&quot; like we were tricked into believing that building a polluting factory next to our local river would be &quot;good for the economy&quot;. It is a scam. A lot of unpaid or badly paid developers would probably benefit from switching to a copyleft license but they use BSD/MIT because they see themselves are &quot;temporary embarrassed software millionaires&quot;.</p> <p>We should also actively fight against automatic installation of recursive dependencies. No, it is not normal and no sanely engineered system should do this. We should not trust the Microsoft-owned Github to distribute software. A git repository is a development tool, not a distribution mechanism for end users. Something the Great Ancients understood fully when they started projects like BSD, Debian or Red Hat which are called… &quot;distributions&quot;. Yes, the &quot;D&quot; in BSD stand for &quot;distribution&quot;. It is not by accident that those distributions care a lot about the license of the software they distribute.</p> <h2 id="soustitre-2">Get Rid of Monopolies</h2> <p>In the long term, the root causes of most of our problems are the monopolistic corporations. Without them, we would not have this discussion. There’s a generational divide here. Brilliant coders now on the market or in the free software space have never known a world without Google, Facebook and Github. Their definition of software is &quot;something running in the browser&quot;. Even email is, for them, a synonym for the proprietary messaging system called &quot;Gmail&quot; or &quot;Outlook&quot;. They contribute to FLOSS on Github while chatting on Slack or Discord, sharing specifications on Google Drive and advertising their project on Twitter/X. They also often have an iPhone and a Mac because &quot;shiny&quot;. They cannot imagine an alternative world where monopolies would not be everywhere. They feel that having nice Github and Linkedin profiles where they work for free is the only hope they have to escape unemployment. Who can blame them? They cannot imagine a world without monopolies. They don’t search, they Google, they don’t shop online, they go on Amazon, they don’t read a book but a Kindle, they don’t take a coffee but a Starbucks. For them, politics is only a source of conflicts, a naughty word.</p> <p>As they start to understand that they are exploited by those omnipotent deities, they see only one way to make it acceptable: ask, through one of those deities (Twitter, Facebook, LinkedIn), to be paid. They understand that they are two classes of coders in the world: those who are exploited without being paid and those who are paid to be exploited. A bit or even more in some cases. While a few hands keep all the power.</p> <p>What elderly, like myself, should teach them, is that there are many alternatives. We can live without Google, Facebook Microsoft, Apple, Amazon. We can write code which is not on Github, which doesn’t run on an Amazon server and which is not displayed in a Google browser. We should also insist that every piece of technology is, by essence, political. That you cannot understand technology without understanding the people. And you cannot understand people without understanding politics. Every choice you made has an impact on the world.</p> <p>At the turn of the century, the free software community was focused on fighting Microsoft monopoly. We even joined force with Google and Apple to fight Microsoft. We completely failed. We helped build a world where mostly everything is &quot;Microsofted&quot;, &quot;Googled&quot; and &quot;Iphonized&quot;. All of this made possible thanks to open source and millions of hours worked for free by people who contributed to what we thought was &quot;the commons&quot;.</p> <p>The lesson we learned is harsh: we can never trust corporations with anything. They destroyed our oceans, our atmosphere and our politics. There’s no reason to trust them with our software, our privacy and our daily lives. </p> <p>In the long term, our only hope is to build stronger commons. Every day, we must fight to protect and improve the commons while letting corporations have as little power as we can over it and over our lives.</p> <p>If you are a creator or a coder, you can do it today by adopting copyleft licenses and enforcing them as much as you can.</p> <p>Put your open source code under the AGPL license!</p> <ul> <li><a href="https://unsplash.com/fr/photos/man-cleaning-shoe-of-another-man-near-white-painted-wall-outdoors-sjSYDZawOD4">Photo by Nick Karvounis</a></li> </ul> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net About Freedom and Power https://ploum.net/2024-04-08-freedom-power.html 2024-04-08T00:00:00Z 2024-04-08T00:00:00Z <h1>About Freedom and Power</h1> <p>Freedom is the right to do whatever you want. Power is the right to force others to do what you want. Power is, by definition, being able to restrict others’ freedoms.</p> <p>Copyleft is a tool that gives you freedom but no power. </p> <p>Permissive licenses give freedom and power, allowing already powerful people to restrict the freedoms of others.</p> <p>That’s why powerful people (and those dreaming of being powerful) don’t like copyleft. When you are accustomed to the privilege of power, freedom of others sounds like oppression.</p> <p>Don’t listen to the powerful people. They will tell you that you need to protect powers just in case you become powerful yourself. They will tell you that you need to be against taxation just in case you become rich yourself. That you are a &quot;temporary embarrassed millionaire&quot;. Similarly, they’ve told you to use MIT/BSD license because you could later become a &quot;billionaire proprietary software tycoon&quot; with your lines of code.</p> <p>That’s, of course, a lie. They already are the barons. They want to use your own lines of code to restrict your own freedoms. We should not admire powerful people but fight them.</p> <p>You may dream of power but all you need is freedom. </p> <p>We need to protect freedom, not power. We need to respect humans, not bosses nor commercial interests.</p> <p>Offer a little freedom: use copyleft licenses!</p> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net A Society That Lost Focus https://ploum.net/2024-03-18-lost-focus.html 2024-03-18T00:00:00Z 2024-03-18T00:00:00Z <h1>A Society That Lost Focus</h1> <h2 id="soustitre-1">Our Mind, the Bottleneck</h2> <p>In the early 90s, after tweaking my MS-DOS computer, I was able to play games. One of those game was called &quot;Battle Chess&quot;. A Chess game were pieces were really fighting against each other. It was fun. I was, and still am, a mediocre chess player. I was mate in less than 10 or 15 turns at the easiest level.</p> <p>For the sake of the experiment, I turned the difficulty to the harder level and started playing. Something strange happened: I was still losing but it took a lot more turns. I was able to protect my game, even to manage a few draws.</p> <p>Was it a bug in the game?</p> <p>Even as a young teenager, I quickly understood the reason. With the setting set to &quot;hard&quot;, the game would try a lot harder to find a good move. On my 386 processor, without the mathematical coprocessor, this would take time. Several seconds or even one minute by turn. During that time, I was thinking, anticipating.</p> <p>With the easiest setting, computer moves would happen immediately. I knew I had all the time I want but I was compelled to move fast. I could not take the time while the other side was immediately reacting to my moves.</p> <p>The world we are living in is that same chess game on the easiest setting. Everything happens immediately, all the time. White-collar work can now be summarised as trying to reply as fast as possible to every single email until calling it a day and starting again in the morning, a process which essentially prevents any deep thinking, as pointed by Cal Newport in his book &quot;A world without email&quot;.</p> <p>As we don’t have the time to think anymore, we masquerade our lack of ideas with behavioural tricks. We replaced documents with PowerPoints because it allowed lack of structure and emptiness to look professional (just copy paste the data of the last PowerPoint you received in a text file and see by yourself how pitiful it is. PowerPoint communications at NASA were even diagnosed by Edward R. Tufte, author of the &quot;The cognitive style of PowerPoint&quot;, as one of the causes that led to Space Shuttle Columbia’s disaster).</p> <p>The root problem is that, for the first time in human history, our brain is the bottleneck. For all history, transmitting information was slow. Brains were fasts. After sending a letter, we had days or months to think before receiving an answer. Erasmus wrote his famous &quot;Éloge de la folie&quot; in several days while travelling in Europe. He would never have done it in a couple of hours in a plane while the small screen in the backseat would show him advertisements.</p> <p>In 2012, the French writer Thierry Crouzet had one of the first recorded &quot;online burnout&quot;. Being connected all the time with interesting strangers and interesting ideas to which he wanted to reply quickly was too much for his brain. One night, he had a strong panic attack and decided to spend six months without the Internet, an experience he told in his book &quot;J’ai débranché&quot;. </p> <h2 id="soustitre-2">The Oversold Internet</h2> <p>The instant feedback of permanent connectivity is clearly a bad thing. But the worst had yet to come. After the 2000s bubble popped and told us that Internet was not &quot;magic money&quot;, the question became &quot;how do we monetise the Internet?&quot; A few idealistic geeks replied, &quot;You don’t monetise it, it’s a non-commercial world.&quot; But geeks, as everyone, wanted or needed to be paid.</p> <p>To earn money, they handed the reins of the whole new world they were creating to marketers. That’s it: hackers sold the Internet in exchange for a salary. Until 2000, marketers played along with the idea of selling the work hackers were doing. With one small problem: they oversold it completely, diving in the geek fantasy that, soon, everybody would be on that Internet buying stuff online.</p> <p>In the 2000s, nobody but geeks wanted to spend their life behind a huge radiating screen. Marketers suddenly waked up to that reality with the dot-com bubble. If not everybody wanted to be on the Internet and nobody would buy anything on the Internet, there were two potential solutions: either monetising the fact that some people were already spending lots of time of the Internet or convincing more people to come on the Internet.</p> <p>Surviving companies such as Google decided for the easiest one: monetising what people were already giving to the Internet: their time and attention. Advertising was, of course, already part of the web (mostly through the infamous &quot;popups&quot;) but Google innovated by inventing a whole new way of exploiting attention: trying to learn as much as possible about users to show them the advertising they are more likely to click on. The whole story is told in great details in the book &quot;Surveillance Capitalism&quot;, by Soshanna Zuboff.</p> <p>Whether this &quot;personalised advertisement&quot; really works better than traditional one is up to debate. For Tim Hang, author of &quot;Subtime Attention Crisis&quot; and for Cory Doctorow, author of &quot;How to destroy surveillance capitalism&quot;, the real impact on sales is negligible but as marketers think it works, they invest massive money in it, making the whole technology a very lucrative bubble.</p> <p>But the real impact is undisputed : as long as someone buys it, it is really lucrative to sell the attention and all the information you could from consumers. As a consequence, the practice has been generalised and nearly every website, every app on the Internet is trying to get both. And they are very scientific about the process.</p> <h2 id="soustitre-3">We forgot how not to spy and steal attention</h2> <p>It is now considered as &quot;normal practice&quot; to try to get the attention and the data of your users, even if it doesn’t make sense from a business perspective. </p> <p>Banking apps send notifications to show you their new shiny logo, good old e-commerce website ask their customers for the number of children they have or their income bracket. Even non-commercial personal blogs or some websites dedicated to privacy contain analytics software to track their users. Not tracking your users is harder than not! Every single vendor from which you shop, even a brick-and-mortar one, will bury you with their mailings. </p> <p>One could assume that buying a new mattress is something you do only every decade and that the prospective market for mattress vendors is those who didn’t buy a mattress in the last five years. So why did anybody think that, right after buying a mattress, I would be interested in receiving news about mattresses every single week of my life?</p> <p>The two consequences of all this are that our privacy is invaded as much as it is technologically possible and that our attention is scientifically captured as much as it is technologically possible. And, in both aspects, technology is &quot;improving&quot; as all the smartest minds in the world are hired to do just that.</p> <p>While working at Google, Tristan Harris realised how much what they were building was in order to get the focus and the attention of people. He left Google to create the &quot;Center for Humane Technology&quot; that tries to raise attention about the fact that… our attention is captured by monopolist technologies.</p> <p>The irony is palpable: Tristan Harris had a very good intuition but can’t imagine doing anything else than either &quot;raising attention&quot; through social networks or building technologies that would notify you that you should be focused. Let’s build yet another layer of complexity above everything else and raise attention so this layer is adopted widely enough to become the foundation of the next complexity paradigm.</p> <h2 id="soustitre-4">Worshipping Shallow Ideas</h2> <p>Being distracted all the time prevent us from having any ideas and understanding. We need a catchy slogan. Instead of reading a three-page report, we prefer a 60 slides PowerPoint, containing mostly stock pictures and out-of-context charts. </p> <p>We have valorised the heroic image of the CEO that comes in a meeting and tell engineers, &quot;I have ten minutes left before my next meeting. Tell me everything in five and I’ll take a billion dollar decisions.&quot; </p> <p>In retrospect, it is obvious that taking good decisions in that context is nothing more than rolling a die. Funnily enough, it has been proved multiple times than every high-profile CEO is not better than a random decision algorithm. But, unlike algorithms, CEOs usually have charisma and assurance. They may take a very wrong decision but they can convince everybody that it’s the right one. Which is exactly the definition of a salesman job.</p> <p>In &quot;Deep Work&quot;, Cal Newport tries to promote the opposite stance, the art of taking the time to think, to ponder. In &quot;The Ideas Industry&quot;, Daniel Drezner observes that long, subtle and complex ideas are more and more replaced by simplistic slogans, the epitome being the famous TED conferences. In 18 minutes, people are sold an idea and, if the speaker is a good salesman, feel like they’ve learned something deep and new. The mere fact that you could learn something deeply enough in 18 minutes is an insult to all the academic world. Without surprise, the same academic world is seen by many as boring old people spending their time writing long articles instead of making a catchy slogan to change the world.</p> <h2 id="soustitre-5">Succumbing to Our Addictions</h2> <p>Most monopolies were built by removing choices. You could not buy a computer without Microsoft Windows. You could not visit some websites without Internet Explorer. You can’t find a phone without Google in a shop (Google pay many billions dollars every year to be the default search engine on Apple devices). And if you manage to remove Google from your phone, you will lose the ability to run some apps, including most banking apps. Most apps even check at start if Google services are installed on the phone and refuse to start if it’s not the case. If it’s really hard not to use Google, it’s by definition a forced monopoly. Similarly, it is very hard to avoid Amazon when shopping online.</p> <p>There’s one exception : Facebook. There’s nothing forcing us to go to Facebook or Instagram. There’s nothing forcing us to spend time on it. It’s like we have choice. But it seems we haven’t.</p> <p>Why is this? Why are we playing one hour of what was supposed to be five minutes of a stupid smartphone game instead of reading a book? Why are we spending every minute awake checking our smartphone and replying to mundane chitchat, even if we are in the middle of the conversation with someone else? Why are we compelled to put our life and the lives of our children at risk just to quickly reply while driving?</p> <p>Because of the way the human brain is wired. Evolutionary speaking, we are craving for new experiences. Learning new experiences, good or bad, may help your chromosomes to survive more generations than others. We get that famous &quot;dopamine rush&quot;, described in great details by Liberman and Long in &quot;The molecule of more&quot;.</p> <p>Each time there’s a notification, each time there’s a red bubble in some part of the screen, the brain acts like it’s a new vital opportunity. We can’t miss it. A study showed that the sole notification sound was enough to distract a driver as much as if he was texting while driving. Yes, even without looking at your phone, you were distracted as much as if you did (which is not an excuse to look at it). </p> <p>The brain has learned that the phone is a random provider of &quot;new experiences&quot;. Even in airplane mode, it was demonstrated that having the phone on your desk or in your bag degrades heavily your attention and your thinking performance. Performance went back to normal only when the phone was put in another room.</p> <h2 id="soustitre-6">Fighting to Get Our Focus Back</h2> <p>That’s it, the only way to not have any temptation is not to have the phone at arm reach. The aforementioned French writer Thierry Crouzet told me once that it was very difficult to focus on writing when you know you only have to move the word processor window with the mouse to go to the Internet. On the web, writers’ forums are full of discussions about &quot;distraction-less&quot; devices. Some, including your servitor, are going back to old typewriters, a paradigm described as a true resistance by Richard Polt in the excellent book &quot;The Typewriter Revolution&quot;.</p> <p>One may even wonder if the epidemic of &quot;electro-sensitivity&quot;, feeling bad or being sick when exposed to wifi or similar wireless emissions, may simply be a psychological reaction to the overstimulation. It has been observed that the symptoms are real (people are really feeling bad and are not simulating) but that, in double-blind controlled environment, the symptoms are linked to the belief of wireless emissions (if you simulate a blinking wireless router without emitting anything, people feel bad. If you have wireless emission but tell people it’s disabled, they will feel better).</p> <p>In his landmark book &quot;Digital Minimalism&quot;, Cal Newport offers a framework to rethink the way we use digital technologies. The central idea is to balance costs and benefits consciously, highlighting most hidden costs. Facebook might be free in the sense you don’t have to pay for it. But being exposed to advertising, being exposed to angry political rants, feeling compelled to answer, being exposed to picture of people you once knew and who seems to have an extraordinary (even if virtual) life is a very high cost.</p> <p>Simply do the math. If you have 180 friends on Facebook, which seems to be a low amount those days, if your friends take, on average, 10 days of vacation per year, you will have, on average, five friends on vacation every day. Add to this statistic that some people like to re-post pictures of old vacations and it means that you will be bombarded daily by pictures of sunny beaches and beautiful landscapes while you are waiting under neon light for your next boring meeting in a gray office. By design, Facebook makes you feel miserable. </p> <p>That’s not to say that Facebook cannot be useful and have benefits. As Cal Newport highlight, you need to adapt your use to maximise the benefits while trying to avoid costs as much as possible. You have to think consciously about what you really want to achieve.</p> <p>This idea of digital minimalism prompted a revival of the so-called &quot;dumb phones&quot;, phones which are not smart and which are able to make phone call and send/receive SMS. Some brands are even starting to innovate in that particular market like Mudita and Lightphone.</p> <p>Ironically, they are advertising mindfulness and being focused. They are trying to catch your attention to sell you back… your own attention.</p> <h2 id="soustitre-7">Focus Against Consumerism</h2> <p>One of the consumerist credo is that the market will fix everything. If there’s a problem, someone will quickly sell a solution. As pointed by Evgeny Morozov in &quot;To Save Everything, Click Here&quot;, this is not only wrong thinking. This is actually harmful.</p> <p>With public money, we are actually actively funding companies and startups thinking they will both create jobs and sell solutions to every problem. It is implied that every solution should be a technological one, should be sellable and should be intuitive. That’s it: you should not think too much about a problem but instead build blindly whatever solution comes to mind using the currently trending technological stack. French Author Antoine Gouritin wrote a funny and interesting book about that whole philosophy he called &quot;Le Startupisme&quot;.</p> <p>The root cause is there: we don’t have any mental framework left other than spying on people and steal their attention. Business schools are teaching how to do catchy PowerPoints while stealing attention from people. Every business is at war with the other to catch your attention and your brain cycles. Even academy is now fighting to get grants based on catchy PowerPoints and raw number of publications. This was the raw observation of David Graeber: even academics have stopped thinking to play the &quot;catch your attention game&quot;.</p> <p>There’s no silver bullet. There will not be any technological solution. If we want to claim back our focus and our brain cycles, we will need to walkaway and normalise disconnected times. To recognise and share the work of those who are not seeking attention at all cost, who don’t have catchy slogans nor spectacular conclusions. We need to start to appreciate harder works which don’t offer us immediate short-term profit.</p> <p>Our mind, not the technology, is the bottleneck. We need to care about our minds. To dedicate time to think slowly and deeply. </p> <p>We need to bring back Sapiens in Home Sapiens Sapiens.</p> <ul> <li><a href="https://commons.wikimedia.org/wiki/File:View_through_a_broken_window_from_a_room_in_Sanatorium_du_Basil,_Stoumont,_Belgium_(DSCF3542,DSCF3545).jpg">Picture by Trougnouf</a></li> </ul> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net Announcing Offpunk 2.0 https://ploum.net/2023-11-25-offpunk2.html 2023-11-25T00:00:00Z 2023-11-25T00:00:00Z <h1>Announcing Offpunk 2.0</h1> <p>I’m happy to announce the release, last week, of Offpunk 2.0.</p> <p>Offpunk is an offline-first command-line browser/RSS reader. You control it by typing command and it maintains a cache of all the networked resources to allow you to access them offline indefinitely.</p> <p>If a non-cached resource is tentatively accessed, the URL is marked as to be fetched later. Running periodically &quot;offpunk --sync&quot; will fetch those resources and add them to your &quot;tour&quot; to remind you that you wanted to access it.</p> <ul> <li><a href="https://sr.ht/~lioploum/offpunk/">Offpunk official website</a></li> <li><a href="https://git.sr.ht/~lioploum/offpunk/refs/v2.0">Offpunk 2.0 changelog</a></li> <li><a href="https://repology.org/project/offpunk/versions">List of available offpunk packages</a></li> </ul> <h2 id="soustitre-1">Screenshot</h2> <figure> <a href="/files/offpunk2.png"><img alt="Mandatory screenshot showing Offpunk browsing Offpunk’s website. There’s a screenshot of Offpunk in the screenshot." src="/files/offpunk2.png" width="450" class="center"></a> <figcaption>Mandatory screenshot showing Offpunk browsing Offpunk’s website. There’s a screenshot of Offpunk in the screenshot.</figcaption> </figure> <h2 id="soustitre-2">Switching the license to AGPLv3</h2> <p>Offpunk originally started as a branch then a friendly fork of AV-98. It was called AV-98-offline and, as such, shared the same BSD license.</p> <ul> <li><a href="https://tildegit.org/solderpunk/AV-98">AV-98, the first Gemini browser</a></li> </ul> <p>During multiple discussions, Solderpunk and I came to the conclusion that AV-98-offline was becoming too different from the initial goal of AV-98. It was thus renamed Offpunk. At the same time, I grew increasingly convinced that we needed more copyleft software and that the AGPL license was better suited to protect the commons.</p> <ul> <li><a href="/2023-06-19-more-rms.html">&quot;We need more of Richard Stallman, not less&quot;, my take on why copyleft is important</a></li> </ul> <p>As a symbolic move, I’ve thus decided to switch Offpunk license from BSD to AGPLv3 but needed an opportunity to do so. The 2.0 release is such an opportunity.</p> <h2 id="soustitre-3">Multiple independent tools</h2> <p>Like AV-98, Offpunk was one single big python file. I liked the simplicity of it. But it really became a mess and I wanted to offer Offpunk’s features as separate command-line tool. With Offpunk 2.0, you will thus have three new command-line tools:</p> <p>- netcache : when given a URL, will download and cache this URL or only access the cache if the &quot;--offline&quot; option is provided.<br> - ansicat : will render an HTML, an RSS, a Gemtext or even a picture in your terminal, with various options.<br> - opnk : universal opener. Will try to render any file or any URL in your terminal. If it fails, it will fallback to xdg-open.</p> <p>Those three commands should come with a man page and a &quot;--help&quot; but they are still quite new. To my own surprise, I found myself using &quot;opnk&quot; all the time. I don’t think anymore about how to handle a file, I simply give it to opnk.</p> <p>Packaging those tools was a lot harder than expected and I want to thank all the contributors to this work, including Austreelis, David Zaslavsky and Jean Abou Samra.</p> <h2 id="soustitre-4">Themes</h2> <p>The goal of Offpunk, through Ansicat, is to render web, RSS, gemini and gopher pages as coloured ANSI text in your terminal. Until now, those colours were hardcoded. With 2.0, they can be customised. See &quot;help theme&quot;.</p> <figure> <a href="/files/offpunk2_theme.png"><img alt="Screenshot of Offpunk customised with the worst possible colours I could find." src="/files/offpunk2_theme.png" width="450" class="center"></a> <figcaption>Screenshot of Offpunk customised with the worst possible colours I could find.</figcaption> </figure> <p>In offpunk, customisation can be made permanent by adding all the commands you want to run at startup in your .config/offpunk/offpunkrc file. Mine contains one single line: &quot;offline&quot;, ensuring I use Offpunk only in offline mode.</p> <h2 id="soustitre-5">Getting started</h2> <p>Using Offpunk daily as your main browsing/rss driver takes some learning. You need to get used to the Offpunk philosophy: adding elements to tour instead of clicking them, creating lists to read later, doing a daily synchronisation. It is not trivial.</p> <p>The &quot;help&quot; command will probably be your best allies. The community also provide support on a user dedicated mailing-list.</p> <ul> <li><a href="https://lists.sr.ht/~lioploum/offpunk-users">Offpunk-users mailing list</a></li> </ul> <p>If Offpunk becomes useful to you, the community is open. Contributions, documentation, blog post about how you use Offpunk, help to new users and packaging are warmly welcome. Sometimes, simple feedback is all it takes to make a developer happy. So don’t hesitate to contribute in one of our lists.</p> <ul> <li><a href="https://lists.sr.ht/~lioploum/offpunk-devel">Offpunk-devel mailing list</a></li> <li><a href="https://lists.sr.ht/~lioploum/offpunk-packagers">Offpunk-packagers mailing list</a></li> </ul> <p>I’ve also started an experimental Matrix room on #offpunk:matrix.org. I have the belief that mailing-list is better suited for discussions but I’m giving this the benefit of doubt and willing to explore whether or not direct real-time discussion could help new users.</p> <ul> <li><a href="https://matrix.to/#/#offpunk:matrix.org">Join the #offpunk:matrix.org room</a></li> </ul> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net The gift of time https://ploum.net/2023-11-10-the-gift-of-time.html 2023-11-10T00:00:00Z 2023-11-10T00:00:00Z <h1>The gift of time</h1> <p>Maintaining a free software project is spending years of your life to solve a problem that would have taken several hours or even days without the software.</p> <p>Which is, joke aside, an incredible contribution to the common good.</p> <p>The time saved is multiplied by the number of users and quickly compound. They are saving time without the need to exchange their own time. </p> <p>Free software offers free time, free life extension to many human living now and maybe in the future.</p> <p>Instead of contributing to the economy, free software developers contribute to humanity. To the global progress.</p> <p>Free software is about making our short lifetimes a common good instead of an economical product.</p> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net The future of Offpunk: UNIX command-line heaven and packaging hell https://ploum.net/2023-10-01-future-of-offpunk-packaging-hell.html 2023-10-01T00:00:00Z 2023-10-01T00:00:00Z <h1>The future of Offpunk: UNIX command-line heaven and packaging hell</h1> <blockquote> A story about how the UNIX philosophy made me develop tools I’m actually proud of and why packaging is holding me back.<br></blockquote> <p>Two years ago, I decided that I wanted to be able to browse Gemini while offline. I started to add a permanent cache to Solderpunk’s AV-98, the simplest and first Gemini browser ever. It went surprisingly well. Then, as the excellent forlater.email service went down for a week, I thought that I would add a quick and hackish HTTP support to it. Just a temporary experiment. </p> <p>The same week, I serendipitously stumbled upon chafa, an image rendering tool which was on my computer because of neofetch. I thought it would be funny to have pictures rendered in webpages in my terminal. Just an experiment to take some funny screenshots, nothing more.</p> <p>But something really surprising happened: it was working. It was really useful. I was really using it and, after adding support for RSS, I realised that this experiment was actually working better for me than forlater.email and newsboat. Offpunk was born without really thinking about it and became a real project with its own philosophy.</p> <ul> <li><a href="https://sr.ht/~lioploum/offpunk/">Offpunk, a command line to browse Web, Gemini and Gopher while offline</a></li> </ul> <p>Born on Gemini, I wanted Offpunk to keep its minimalistic roots: keeping dependencies under control (making them optional and implementing the underlying feature myself as soon as it makes sense), keeping it simple (one single runnable python script), caring as much as possible about older versions of python, listening to people using it on very minimal systems. I also consciously choose to use only solutions that have been time-trial-tested. I’ve spent too many years of my life falling for the &quot;new-trendy-technology&quot; and learned from those mistakes. The one-file aspect assured that it was really easy to use and to hack: open the file, modify something, run it. </p> <p>I’m not a good developer. Anything more complex than that is too much for my taste. Unless forced, I’ve never used an IDE, never understood complex toolchains nor packaging. I modify files with (neo)vim (without any plugin), compile from the command line and run the resulting binary (not even needing that step with python). Life is too short for making it more complex. I like to play with the code, not to learn tools that would do it for me.</p> <p>But offpunk.py was becoming fat. 4500 lines of organic python which have grown over an AV-98 structured to be a test bed for an experimental protocol. The number of people able to understand its code entanglement varied between 0 and 1, depending on the quality of my morning Earl Grey.</p> <p>I wanted to make life easier for contributors. I also realised that some features I developed might be useful without offpunk. So I stepped into a huge refactoring and managed to split offpunk into several components. My goal was to separate the code into multiple individual components doing one thing and doing it well. And, to my own surprise, I succeeded.</p> <h2 id="soustitre-1">Netcache.py</h2> <p>I called the first component &quot;netcache&quot;. Think of netcache as a cached version of wget. If possible, netcache will give you a cached version of the URL you are asking. If no cache or too old and if allowed to go online, netcache will download it.</p> <p>It means that if you like Offpunk’s core concept but don’t like the interface and want, for example, a GUI, you could write your own browser that would, using netcache, share the cache with Offpunk.</p> <p>Netcache is currently working just well enough for my needs but could do a lot better. I should, for example, investigate replacing the network code by libcurl and implementing support for multithreaded concurrent downloads.</p> <h2 id="soustitre-2">Ansicat.py</h2> <p>Coloured output in your terminal is done through a standard called ANSI. As I wrote the first HTML to ANSI renderer for offpunk, I started to understand how awful the HTML standard was. Armed with that experience, I started a second renderer and, to be honest, it is actually not that bad. I’m even proud of it.</p> <p>Ansicat is really useful when in a terminal because it will render HTML and gemtext in a good, readable way. If the optional library python-readability is present, ansicat will try to extract the main content from a web page (and, yes, python-readability is one dependency I would like to reimplement someday).</p> <p>With netcache and ansicat, you can already do something like:</p> <pre>netcache https://ploum.net | ansicat --format=html </pre> <p>Yes, it works. And yes, as a UNIX junkie, I was completely excited the first time it worked. Look mum, I’m Ken Thompson! Making ansicat a separate tool made me think about adding support for other formats. Like PDF or office documents. How cool would it be to have a single cat command for so many different formats?</p> <h2 id="soustitre-3">Opnk.py</h2> <p>While netcache and ansicat were clear components I wanted to split from Offpunk’s core since the start of the refactoring, another tool appeared spontaneously: opnk.</p> <p>Opnk (Open-like-a-punk) is basically a wrapper that will run ansicat on any file given. If given a URL, it will ask netcache for the file. Result will be displayed in less (after passing through ansicat, of course).</p> <p>If ansicat cannot open the file, opnk fallbacks on xdg-open.</p> <p>That looks like nothing but it proved to be massively useful in my workflow. I already use opnk every day. Each time I want to open a file, I don’t think about the command, I type &quot;opnk&quot;. It even replaced cat for many use cases. I’m considering renaming it &quot;opn&quot; to save one character. Using opnk also explains why I want to work on supporting PDF/office documents with ansicat. That would be one less opportunity to leave the terminal.</p> <h2 id="soustitre-4">Offpunk.py</h2> <p>Through this architecture, Offpunk became basically an interface above opnk. And this proved to work well. Many longstanding bugs were fixed, performance and usability were vastly improved.</p> <p>Everything went so well that I dreamed releasing offpunk 2.0, netcache, ansicat and opnk while running naked with talking animals in field of flowers under a rainbow. Was it really Earl Grey in the cup that day? </p> <h2 id="soustitre-5">Packaging Offpunk.py</h2> <p>Now for the bad news.</p> <p>As expected, the refactoring forced me to break my &quot;one-single-python-file&quot; rule.</p> <p>I felt guilty for those people who told me about using offpunk on very minimal systems, sometimes from a USB key. But I thought that this was not a real problem. Instead of one python script, I had four of them (and a fifth file containing some shared code). That should not be that much of a problem, isn’t it? </p> <p>Well, python packaging systems would like to disagree. Flowers fade, the rainbow disappears behind black and heavy clouds while animals start to look at me with a devilish look and surprisingly sharp teeth.</p> <p>I’ve spent many hours, asked several people on the best way to package multiple python files without making the whole thing a module. Without success. Hopefully, the community is really helpful. David Zaslavsky stepped on the mailing list to give lots of advice and, as I was discouraged, Austreelis started to work really hard to make offpunk both usable directly and packagable. I’m really grateful for their help and their work. But, so far, without clear success. I feel sad about the amount of energy required to address something as simple as &quot;I’ve 5 python files which depend on each other and I want to be able to launch them separately&quot;.</p> <ul> <li><a href="https://gitlab.com/austreelis/offpunk.git">Austreelis’s branch where she works on making offpunk &quot;packageable&quot;.</a></li> </ul> <p>The software is working really well. The refactoring allowed me to fix longstanding bugs and to improve a lot of areas while adding new features (colour themes anyone?) On my computer, I added four aliases in my zsh config: offpunk, opnk, ansicat and netcache. Each alias runs the corresponding python file. Nothing fancy and I want to keep it that way. I know for a fact that several users are doing something similar: git clone then run it from an arbitrary location.</p> <p>Keeping things as simple as that is the main philosophical goal behind offpunk. It’s an essential part of the project. If people want to use pip or any other tool to mess up their computer configuration, that’s their choice. But it should never be required.</p> <p>Which means that I’m now in a very frustrating position: Offpunk 2.0 is more than ready from a code point of view. But it cannot be shipped because there’s currently no easy way to package it. The pyproject.toml file had become an obstacle to the whole development process.</p> <p>I’m contemplating putting everything back in one big file. Or removing the pyprojects.toml file from the repository and releasing offpunk &quot;as it is&quot;.</p> <p>Some will call me an old conservative fart for refusing to use one of those gazillion shiny packaging system. Others will judge me as a pretty poor programmer if I managed to do 20 years of Python without ever understanding pip nor using an IDE.</p> <p>They are probably right. What would you seriously expect from someone doing a command-line tool to browse Gemini and Gopher?</p> <p>But there’s maybe an easier solution than to change my mind and offpunk’s core philosophy. A simple solution that I missed. If that’s the case, don’t hesitate to drop a word on the devel mailing-list, Austreelis and I will be happy to hear about your opinion and your experience.</p> <ul> <li><a href="https://lists.sr.ht/~lioploum/offpunk-devel">offpunk-devel mailing list</a></li> </ul> <p>While you are at it, bug reports and feedback are also welcome. I’ve this odd custom of finding embarrassing bugs only hours after a release. I really hope to do better with offpunk 2.0.</p> <p>And after we’ve solved that little packaging anecdote together, I will happily return to my bare neovim to code all the ideas I want to implement for 2.1, 2.2 and many more releases to come.</p> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net Splitting the Web https://ploum.net/2023-08-01-splitting-the-web.html 2023-08-01T00:00:00Z 2023-08-01T00:00:00Z <h1>Splitting the Web</h1> <p>There’s an increasing chasm dividing the modern web. On one side, the commercial, monopolies-riddled, media-adored web. A web which has only one objective: making us click. It measures clicks, optimises clicks, generates clicks. It gathers as much information as it could about us and spams every second of our life with ads, beep, notifications, vibrations, blinking LEDs, background music and fluorescent titles.</p> <p>A web which boils down to Idiocracy in a Blade Runner landscape, a complete cyberpunk dystopia.</p> <p>Then there’s the tech-savvy web. People who install adblockers or alternative browsers. People who try alternative networks such as Mastodon or, God forbid, Gemini. People who poke fun at the modern web by building true HTML and JavaScript-less pages.</p> <p>Between those two extremes, the gap is widening. You have to choose your camp. When browsing on the &quot;normal web&quot;, it is increasingly required to disable at least part of your antifeatures-blockers to access content.</p> <p>Most of the time, I don’t bother anymore. The link I clicked doesn’t open or is wrangled? Yep, I’m probably blocking some important third-party JavaScript. No, I don’t care. I’ve too much to read on a day anyway. More time for something else. I’m currently using kagi.com as my main search engine on the web. And kagi.com comes with a nice feature, a &quot;non-commercial lens&quot; (which is somewhat ironic given the fact that Kagi is, itself, a commercial search engine). It means it will try to deprioritize highly commercial contents. I can also deprioritize manually some domains. Like facebook.com or linkedin.com. If you post there, I’m less likely to read you. I’ve not even talked about the few times I use marginalia.nu.</p> <p>Something strange is happening: it’s not only a part of the web which is disappearing for me. As I’m blocking completely google analytics, every Facebook domain and any analytics I can, I’m also disappearing for them. I don’t see them and they don’t see me!</p> <p>Think about it! That whole &quot;MBA, designers and marketers web&quot; is now optimised thanks to analytics describing people who don’t block analytics (and bots pretending to be those people). Each day, I feel more disconnected from that part of the web.</p> <p>When really needed, dealing with those websites is so nerve breaking that I often resort to… a phone call or a simple email. I signed my mobile phone contract by exchanging emails with a real person because the signup was not working. I phone to book hotels when it is not straightforward to do it in the web interface or if creating an account is required. I hate talking on the phone but it saves me a lot of time and stress. I also walk or cycle to stores instead of ordering online. Which allows me to get advice and to exchange defective items without dealing with the post office.</p> <p>Despite breaking up with what seems to be &quot;The Web&quot;, I’ve never received so many emails commenting my blog posts. I rarely had as many interesting online conversations as I have on Mastodon. I’ve tens of really insightful contents to read every day in my RSS feeds, on Gemini, on Hacker News, on Mastodon. And, incredibly, a lot of them are on very minimalists and usable blogs. The funny thing is that when non-tech users see my blog or those I’m reading, they spontaneously tell me how beautiful and usable they are. It’s a bit like all those layers of JavaScript and flashy css have been used against usability, against them. Against us. It’s a bit like real users never cared about &quot;cool designs&quot; and only wanted something simple.</p> <p>It feels like everyone is now choosing its side. You can’t stay in the middle anymore. You are either dedicating all your CPU cycles to run JavaScript tracking you or walking away from the big monopolies. You are either being paid to build huge advertising billboards on top of yet another framework or you are handcrafting HTML.</p> <p>Maybe the web is not dying. Maybe the web is only splitting itself in two. </p> <p>You know that famous &quot;dark web&quot; that journalists crave to write about? (at my request, one journalist once told me what &quot;dark web&quot; meant to him and it was &quot;websites not easily accessible through a Google search&quot;.) Well, sometimes I feel like I’m part of that &quot;dark web&quot;. Not to buy drugs or hire hitmen. No! It’s only to have a place where I can have discussions without being spied and interrupted by ads.</p> <p>But, increasingly, I feel less and less like an outsider.</p> <p>It’s not me. It’s people living for and by advertising who are the outsiders. They are the one destroying everything they touch, including the planet. They are the sick psychos and I don’t want them in my life anymore. Are we splitting from those click-conversion-funnel-obsessed weirdos? Good riddance! Have fun with them.</p> <p>But if you want to jump ship, now is the time to get back to the simple web. Welcome back aboard!</p> <ul> <li><a href="https://grenoble.ninja/diviser-le-web">Traduction en français par Nicolas Vivant</a></li> <li><a href="https://javiersam.blogspot.com/2023/08/la-web-partida-en-dos.html">Traducción Española de JavierSam</a></li> <li><a href="https://youdo.blog/2023/08/17/ploum-net/">تُرجم النص للعربية من قِبل: يونس بن عمارة</a></li> </ul> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net Stop Trying to Make Social Networks Succeed https://ploum.net/2023-07-06-stop-trying-to-make-social-networks-succeed.html 2023-07-06T00:00:00Z 2023-07-06T00:00:00Z <h1>Stop Trying to Make Social Networks Succeed</h1> <p>Lot is happening in the social network landscape with the demises of Twitter and Reddit, the apparition of Bluesky and Threads, the growing popularity of Mastodon. Many pundits are trying to guess which one will be successful and trying to explain why others will fail. Which completely misses the point.</p> <p>Particular social networks will never &quot;succeed&quot;. Nobody even agree on the definition of &quot;success&quot;.</p> <p>The problem is that we all see our little bubble and generalise what we observe as universal. We have a hard time understanding Mastodon ? Mastodon will never succeed, it will be for a niche. A few of our favourite web stars goes to Bluesky ? Bluesky is the future, everybody will be there.</p> <p>That’s not how it works. That’s not how it ever worked.</p> <p>Like every human endeavour, every social network is there for a limited duration and will be useful to a limited niche of people. That niche may grow to the point of being huge, like Facebook and WhatsApp. But, to this day, there are more people in the world without an account on Facebook than people with one. Every single social network is only representative of a minority. And the opposite would be terrifying when you think about it (which is exactly what Meta is trying to build).</p> <p>Social networks are fluid. They come, they go. For commercial social networks, the success is defined by: &quot;do they earn enough money to make investors happy ?&quot; There’s no metric of success for non-commercial ones. They simply exist as long as at least two users are using them to communicate. Which is why criticisms like &quot;Mastodon could never raise enough money&quot; or &quot;the Fediverse will never succeed&quot; totally miss the point. </p> <p>If you live in the same occidental bubble as me, you might have never heard of WeChat, QQ or VK. Those are immensely popular social networks. In China and Russia. WeChat alone is more or less the size of Instagram in terms of active users. The war in Ukraine also demonstrated that the most popular social network in that part of the world is Telegram. Which is twice as big as Twitter but, for whatever reason, is barely mentioned in my own circles. The lesson here is simple: you are living in a small niche. We all do. Your experience is not representative of anything but your own. And it’s fine.</p> <p>There will never be one social network to rule them all. There should never be one social network to rule them all. In fact, tech-savvy people should fight to ensure that no social network ever &quot;succeed&quot;.</p> <p>Human lives in communities. We join them, we sometimes leave them. Social networks should only be an underlying infrastructure to support our communities. Social networks are not our communities. Social network dies. Communities migrate and flock to different destinations. Nothing ever replaced Google+, which was really popular in my own tech circle. Nothing will replace Twitter or Reddit. Some communities will find a new home on Mastodon or on Lemmy. Some will go elsewhere. That’s not a problem as long as you can have multiple accounts in different places. Something I’m sure you do. Communities can be split. Communities can be merged. People can be part of several communities and several platforms.</p> <p>Silicon Valley venture capitalists are trying to convince us that, one day, a social network will succeed, will become universal. That it should grow. That social networks are our communities. That your community should grow to succeed.</p> <p>This is a lie, a delusion. Our communities are worth a lot more than the underlying tool used at some point in time. By accepting the confusion, we are destroying our communities. We are selling them, we are transforming them into a simple commercial asset for the makers of the tool we are using, the tool which exploits us. </p> <p>Stop trying to make social networks succeed, stop dreaming of a universal network. Instead, invest in your own communities. Help them make long-term, custom and sustainable solutions. Try to achieve small and local successes instead of pursuing an imaginary universal one. It will make you happier.</p> <p>It will make all of us happier.</p> <ul> <li><a href="https://www.noureddin.dev/w/network-success/">«ترجمة عربية من نور الدين».</a></li> </ul> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div> Ploumhttps://ploum.net How to Kill a Decentralised Network (such as the Fediverse) https://ploum.net/2023-06-23-how-to-kill-decentralised-networks.html 2023-06-23T00:00:00Z 2023-06-23T00:00:00Z <h1>How to Kill a Decentralised Network (such as the Fediverse)</h1> <p>The year is 2023. The whole Internet is under the control of the GAFAM empire. All of it? Well, not entirely. Because a few small villages are resisting the oppression. And some of those villages started to agregate, forming the &quot;Fediverse&quot;.</p> <p>With debates around Twitter and Reddit, the Fediverse started to gain fame and attention. People started to use it for real. The empire started to notice.</p> <h2 id="soustitre-1">Capitalists Against Competition</h2> <p>As Peter Thiel, one of Facebook’s prominent investor, put it: &quot;Competition is for losers.&quot; Yep, those pseudo &quot;market is always right&quot; people don’t want a market when they are in it. They want a monopoly. Since its inception, Facebook have been very careful to kill every competition. The easiest way of doing it being by buying companies that could, one day, become competitors. Instagram, WhatsApp to name a few, were bought only because their product attracted users and could cast a shadow on Facebook.</p> <p>But the Fediverse cannot be bought. The Fediverse is an informal group of servers discussing through a protocol (ActivityPub). Those servers may even run different software (Mastodon is the most famous but you could also have Pleroma, Pixelfed, Peertube, WriteFreely, Lemmy and many others).</p> <p>You cannot buy a decentralised network!</p> <p>But there’s another way: make it irrelevant. That’s exactly what Google did with XMPP.</p> <h2 id="soustitre-2">How Google joined the XMPP federation</h2> <p>At the end of the 20th century, instant messengers (IM) were all the rage. One of the first very successful ones was ICQ, quickly followed by MSN messenger. MSN Messenger was the Tiktok of the time: a world where teenagers could spend hours and days without adults. </p> <p>As MSN was part of Microsoft, Google wanted to compete and offered Google Talk in 2005, including it in the Gmail interface. Remember that, at the time, there was no smartphone and very little web app. Applications had to be installed on the computer and Gmail web interface was groundbreaking. MSN was even at some point bundled with Microsoft Windows and it was really hard to remove it. Building Google chat with the Gmail web interface was a way to be even closer to the customers than a built-in software in the operating system.</p> <p>While Google and Microsoft were fighting to achieve hegemony, free software geeks were trying to build decentralised instant messaging. Like email, XMPP was a federated protocol: multiple servers could talk together through a protocol and each user would connect to one particular server through a client. That user could then communicate with any user on any server using any client. Which is still how ActivityPub and thus the Fediverse work.</p> <p>In 2006, Google talk became XMPP compatible. Google was seriously considering XMPP. In 2008, while I was at work, my phone rang. On the line, someone told me: &quot;Hi, it’s Google and we want to hire you.&quot; I made several calls and it turned out that they found me through the XMPP-dev list and were looking for XMPP servers sysadmins.</p> <p>So Google was really embracing the federation. How cool was that? It meant that, suddenly, every single Gmail user became an XMPP user. This could only be good for XMPP, right? I was ecstatic.</p> <h2 id="soustitre-3">How Google killed XMPP</h2> <p>Of course, reality was a bit less shiny. First of all, despites collaborating to develop the XMPP standard, Google was doing its own closed implementation that nobody could review. It turns out they were not always respecting the protocol they were developing. They were not implementing everything. This forced XMPP development to be slowed down, to adapt. Nice new features were not implemented or not used in XMPP clients because they were not compatible with Google Talk (avatars took an awful long time to come to XMPP). Federation was sometimes broken: for hours or days, there would not be communications possible between Google and regular XMPP servers. The XMPP community became watchers and debuggers of Google’s servers, posting irregularities and downtime (I did it several times, which is probably what prompted the job offer).</p> <p>And because there were far more Google talk users than &quot;true XMPP&quot; users, there was little room for &quot;not caring about Google talk users&quot;. Newcomers discovering XMPP and not being Google talk users themselves had very frustrating experience because most of their contact were Google Talk users. They thought they could communicate easily with them but it was basically a degraded version of what they had while using Google talk itself. A typical XMPP roster was mainly composed of Google Talk users with a few geeks.</p> <p>In 2013, Google realised that most XMPP interactions were between Google Talk users anyway. They didn’t care about respecting a protocol they were not 100% in control. So they pulled the plug and announced they would not be federated anymore. And started a long quest to create a messenger, starting with Hangout (which was followed by Allo, Duo. I lost count after that).</p> <p>As expected, no Google user bated an eye. In fact, none of them realised. At worst, some of their contacts became offline. That was all. But for the XMPP federation, it was like the majority of users suddenly disappeared. Even XMPP die hard fanatics, like your servitor, had to create Google accounts to keep contact with friends. Remember: for them, we were simply offline. It was our fault.</p> <p>While XMPP still exist and is a very active community, it never recovered from this blow. Too high expectation with Google adoption led to a huge disappointment and a silent fall into oblivion. XMPP became niche. So niche that when group chats became all the rage (Slack, Discord), the free software community reinvented it (Matrix) to compete while group chats were already possible with XMPP. (Disclaimer: I’ve never studied the Matrix protocol so I have no idea how it technically compares with XMPP. I simply believe that it solves the same problem and compete in the same space as XMPP).</p> <p>Would XMPP be different today if Google never joined it or was never considered as part of it? Nobody could say. But I’m convinced that it would have grown slower and, maybe, healthier. That it would be bigger and more important than it is today. That it would be the default decentralised communication platform. One thing is sure: if Google had not joined, XMPP would not be worse than it is today.</p> <h2 id="soustitre-4">It was not the first: the Microsoft Playbook</h2> <p>What Google did to XMPP was not new. In fact, in 1998, Microsoft engineer Vinod Vallopllil explicitly wrote a text titled &quot;Blunting OSS attacks&quot; where he suggested to &quot;de-commoditize protocols &amp; applications […]. By extending these protocols and developing new protocols, we can deny OSS project’s entry into the market.&quot; </p> <p>Microsoft put that theory in practice with the release of Windows 2000 which offered support for the Kerberos security protocol. But that protocol was extended. The specifications of those extensions could be freely downloaded but required to accept a license which forbid you to implement those extensions. As soon as you clicked &quot;OK&quot;, you could not work on any open source version of Kerberos. The goal was explicitly to kill any competing networking project such as Samba. </p> <p>This anecdote was told Glyn Moody in his book &quot;Rebel Code&quot; and demonstrates that killing open source and decentralised projects are really conscious objectives. It never happens randomly and is never caused by bad luck.</p> <p>Microsoft used a similar tactic to ensure dominance in the office market with Microsoft Office using proprietary formats (a file format could be seen as a protocol to exchange data). When alternatives (OpenOffice then LibreOffice) became good enough at opening doc/xls/ppt formats, Microsoft released a new format that they called &quot;open and standardised&quot;. The format was, on purpose, very complicated (20.000 pages of specifications!) and, most importantly, wrong. Yes, some bugs were introduced in the specification meaning that a software implementing the full OOXML format would behave differently than Microsoft Office. </p> <p>Those bugs, together with political lobbying, were one of the reasons that pushed the city of Munich to revert its Linux migration. So yes, the strategy works well. Today, docx, xlsx and pptx are still the norms because of that. Source: I was there, indirectly paid by the city of Munich to make LibreOffice OOXML’s rendering closer to Microsoft’s instead of following the specifications.</p> <p>UPDATE:<br> </p> <ul> <li><a href="https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish">This tactic even has a Wikipedia page</a></li> </ul> <h2 id="soustitre-5">Meta and the Fediverse</h2> <p>People who don’t know history are doomed to repeat it. Which is exactly what is happening with Meta and the Fediverse. </p> <p>There are rumours that Meta would become &quot;Fediverse compatible&quot;. You could follow people on Instagram from your Mastodon account.</p> <p>I don’t know if those rumours have a grain of truth, if it is even possible for Meta to consider it. But there’s one thing my own experience with XMPP and OOXML taught me: if Meta joins the Fediverse, Meta will be the only one winning. In fact, reactions show that they are already winning: the Fediverse is split between blocking Meta or not. If that happens, this would mean a fragmented, frustrating two-tier fediverse with little appeal for newcomers. </p> <p>UPDATE: Those rumours have been confirmed as at least one Mastodon admin, kev, from fosstodon.org, has been contacted to take part in an off-the-record meeting with Meta. He had the best possible reaction: he refused politely and, most importantly, published the email to be transparent with its users. Thanks kev!</p> <ul> <li><a href="https://fosstodon.org/@kev/110592625692688836">Mail from Meta to Kev, from Fosstodon, and reply</a></li> </ul> <p>I know we all dream of having all our friends and family on the Fediverse so we can avoid proprietary networks completely. But the Fediverse is not looking for market dominance or profit. The Fediverse is not looking for growth. It is offering a place for freedom. People joining the Fediverse are those looking for freedom. If people are not ready or are not looking for freedom, that’s fine. They have the right to stay on proprietary platforms. We should not force them into the Fediverse. We should not try to include as many people as we can at all cost. We should be honest and ensure people join the Fediverse because they share some of the values behind it.</p> <p>By competing against Meta in the brainless growth-at-all-cost ideology, we are certain to lose. They are the master of that game. They are trying to bring everyone in their field, to make people compete against them using the weapons they are selling.</p> <p>Fediverse can only win by keeping its ground, by speaking about freedom, morals, ethics, values. By starting open, non-commercial and non-spied discussions. By acknowledging that the goal is not to win. Not to embrace. The goal is to stay a tool. A tool dedicated to offer a place of freedom for connected human beings. Something that no commercial entity will ever offer.</p> <ul> <li><a href="https://framapiaf.org/@davidrevoy/110583258129951932">Picture by David Revoy</a></li> <li><a href="https://grenoble.ninja/comment-tuer-un-reseau-decentralise-tel-que-le-fediverse">Traduction en Français par Nicolas Vivant</a></li> <li><a href="https://blognooficial.wordpress.com/2023/07/05/como-acabar-con-una-red-descentralizada-como-fediverse/">Traducción Española de Matii</a></li> <li><a href="https://cohost.org/Janet/post/1952079-ok-nun-auch-auf-deu">Deutsche Übersetzung von Janet und anderen</a></li> <li><a href="https://poliverso.org/display/0477a01e-1964-abfd-552f-aef477916660">Traduzione italiana di Nilocram</a></li> <li><a href="https://www.tumblr.com/kendime-analizler/734980560912531456/dagitik-bir-ag-nasil-oldurulur">Türkçe çeviri @ErcanErdemArdal tarafından yapılmıştır</a></li> <li><a href="https://fediverse.blog/~/ItZamkadie/%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%B3%D1%83%D0%B1%D0%B8%D1%82%D1%8C%20%D0%B4%D0%B5%D1%86%D0%B5%D0%BD%D1%82%D1%80%D0%B0%D0%BB%D0%B8%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%83%D1%8E%20%D1%81%D0%B5%D1%82%D1%8C%20(%D0%BD%D0%B0%20%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%B5%20%D0%A4%D0%B5%D0%B4%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B0)">Переведено на русский Wandering Thinker</a></li> <li><a href="https://www.noureddin.dev/w/kill-fediverse/">ترجمة عربية من نور الدين</a></li> </ul> <div class="signature"><p>As a writer and an engineer, I like to explore how technology impacts society. You can subscribe <a href="https://listes.ploum.net/mailman3/lists/en.listes.ploum.net/">by email</a> or <a href="/atom_en.xml">by rss</a>. I value privacy and never share your adress.</p> <p>I write <a href="https://pvh-editions.com/ploum">science-fiction novels in French</a>. For <a href="https://bikepunk.fr">Bikepunk</a>, my new post-apocalyptic-cyclist book, my publisher is looking for contacts in other countries to distribute it in languages other than French. If you can help, <a href="about.html">contact me</a>!</p> </div>