<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-09-28T19:43:02Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by Stefano Marinelli</title>
  <author>
    <name>Stefano Marinelli</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub1mv5ma9hmcy32a5vx2rj6wwt3an6nvuc3ptkhnlcw7pegpwc94p6qtm32l4.rss" />
  <link href="https://njump.me/npub1mv5ma9hmcy32a5vx2rj6wwt3an6nvuc3ptkhnlcw7pegpwc94p6qtm32l4" />
  <id>https://njump.me/npub1mv5ma9hmcy32a5vx2rj6wwt3an6nvuc3ptkhnlcw7pegpwc94p6qtm32l4</id>
  <icon>https://secure.gravatar.com/avatar/20925fb34b63b639ecbd537f4dd814fe43c3264f3e0fef4557c0102b6a67eb8a?s=120&amp;d=mm&amp;r=g</icon>
  <logo>https://secure.gravatar.com/avatar/20925fb34b63b639ecbd537f4dd814fe43c3264f3e0fef4557c0102b6a67eb8a?s=120&amp;d=mm&amp;r=g</logo>




  <entry>
    <id>https://njump.me/nevent1qqsfkcftd5fdtx7c2aajglf46ydcc3dm4r8xcd05qnmef0ut20axq0qzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58gsa9cgq</id>
    
      <title type="html">**This is the text I wrote for my part of the talk “[Liberating ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfkcftd5fdtx7c2aajglf46ydcc3dm4r8xcd05qnmef0ut20axq0qzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58gsa9cgq" />
    <content type="html">
      **This is the text I wrote for my part of the talk “[Liberating the Social Web Using *BSD](&lt;a href=&#34;https://events.eurobsdcon.org/2025/talk/PJJLFV/&#34;&gt;https://events.eurobsdcon.org/2025/talk/PJJLFV/&lt;/a&gt; )“, presented together with the great Jeroen (&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1y90887enayft4damsycxahzuwa87jvx3vhrq37c74wdzv9vdgvcq2z900y&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;h3artbl33d :openbsd: :antifa:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1y90…900y&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;) at [EuroBSDCon 2025 in Zagreb](&lt;a href=&#34;https://2025.eurobsdcon.org&#34;&gt;https://2025.eurobsdcon.org&lt;/a&gt; ). ****It’s not a transcript – it’s the base I worked from, the thoughts I organized before stepping on stage. What I actually said may have been slightly different in places, as it always is when you speak from the heart rather than read from a page. But these are the words, and the spirit is exactly the same.**&lt;br/&gt;&lt;br/&gt;Today, I’m not just here to talk about technology, but about how the principles of BSD systems can help us build healthier and more resilient online communities. And I’ll do this by telling you the story of the bar I founded, the [BSD Cafe](&lt;a href=&#34;https://bsd.cafe&#34;&gt;https://bsd.cafe&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;The idea for the BSD Cafe was born long before its launch but, as I often do, I thought carefully about whether to proceed. On 27 December 2022, I decided to register the domain. The name came from careful reflection with my wife. The idea was to create a virtual space that resembled not so much the cafes scattered around the world, but the Italian “Cafe” (which are called “Bar”).&lt;br/&gt;&lt;br/&gt;For many years (and in many contexts, still today), Italian bars have been at the center of people’s recreational social lives. The Barista, the manager of the establishment, is not just a keeper but a point of reference: they don’t just serve coffee, but they listen and, if asked, offer advice with the wisdom of someone who sees many people and many things, even just out of the corner of their eye, and hears many stories. It used to be said that the best advisors were priests and bartenders, but that the latter certainly gave more entertaining advice.&lt;br/&gt;&lt;br/&gt;And the bar is precisely the place where people go to relax. There are often televisions, tables for playing cards, and recreational rooms. The bartender ensures that everything runs smoothly, but also that everyone feels comfortable: that the person passing through gets directions to their destination, that the person who just walked in gets their coffee at their preferred temperature, and that the person who entered a little earlier, who needs some rest today, has a table in a more private area.&lt;br/&gt;&lt;br/&gt;The spirit of the BSD Cafe is the same: to try to create a serene, open, friendly, positive, and welcoming environment for all who want to be a part of it. Those who just want to read can do so. Those who post a lot are welcome. Everyone should have the experience that makes them most comfortable and at ease. No one should ever feel forced to do something they don’t want to do; no one should ever feel uncomfortable. Therefore, everyone can choose a noisy and active table, or a more reserved and quiet one.&lt;br/&gt;&lt;br/&gt;We can therefore assume that the BSD Cafe has an infinite number of available tables. We can thus call it a *Turing cafe*. 🙂&lt;br/&gt;&lt;br/&gt;In Italian bars, people used to go (and in some areas, still do) to find their “bar friends”. These are people you meet at the bar without an appointment. You go to the bar freely, when you have the time and inclination, and you find the people who regularly frequent that place. And the choice of the bar often aligns with the theme of the bar itself. For example, in Italy, there are many “Bar Sports” where people meet to catch up, watch games together, and read and comment on sports news. The idea of the BSD Cafe is the same – a bar where enthusiasts of BSD systems, Open Source, and technology can be found. And for me, although I might occasionally talk about users (out of technical habit), at the BSD Cafe, there are only “bar friends”.&lt;br/&gt;&lt;br/&gt;**The BSD Cafe is a place where we are “for”, not “against”**. **Supporters, not haters**. Bar friends, not opponents. This doesn’t mean that opinions on other software can’t be expressed, even extremely negative ones (I do it myself from time to time), but the general spirit is that of open source: to build, to discuss, to understand. Wars against other solutions, especially if they are open source, are not part of the atmosphere of the BSD Cafe. We have our preferences – we support our ideas and solutions, but we are not here to “destroy” others. Among our users, there are people who develop Linux distributions – and for me, that is extremely positive!&lt;br/&gt;&lt;br/&gt;When people are at ease and in a serene environment, they are often encouraged to be serene themselves. Some are negative and aggressive because they absorb it from their environment. Some users of the BSD Cafe have told me exactly this: the civil, friendly, relaxed, positive, and constructive level of the BSD Cafe is good for their mental health. Conversely, there are unfortunately people who find pleasure in causing trouble, in muddying the atmosphere. For these people, unfortunately, there is no solution, but the Cafe is not the place for them.&lt;br/&gt;&lt;br/&gt;Political discussions can be part of our lives and daily routines, but the BSD Cafe is not a political group. In recent years, politics has become a topic not of discussion but of conflict. It has always been so to some extent, but commercial social media platforms have understood that hatred and conflict generate engagement, and engagement means selling advertising – a lot of advertising. Therefore, at the BSD Cafe, you might occasionally hear talk of politics or the political repercussions of technical decisions and choices. And that is perfectly okay. But it is not a place from which political conflicts should arise. We are for – supporters, not haters. We are here to build, not to destroy.&lt;br/&gt;&lt;br/&gt;The BSD Cafe is therefore a place centered on the BSDs, and all services are, therefore, based on BSD operating systems.&lt;br/&gt;&lt;br/&gt;All technologies used must be able to run “from my garage”. I am a professional – so this is not a hobby project – but it must not depend on any proprietary solution or “Cloud” solution. Today, there is a tendency to standardize (too much?) everything related to technical choices. If it’s pro, it’s Kubernetes/cloud/serverless/etc. – if it’s not, it’s “old” or “not pro”. I am, and have always been, a proponent of OwnYourData. And this is a mantra at the BSD Cafe. All services are based on Open Source solutions, outside the dynamics and centralized management of the usual companies. We must be free and maintain our technological autonomy; we cannot create a system where our communications and our data depend exclusively on third-party companies. I have enough experience to understand that, sooner or later, even the most solid companies can fail or change their business model. The BSD Cafe is therefore always in favor of self-hosting. Sometimes this means losing users, but not bar friends. It happens, in fact, that at a certain point, friends decide to try the BSDs and start self-hosting their own services. For me, that is a success: one less number in the statistics, but one more success on a technical and ideological level. And for all intents and purposes, they remain bar friends, even if their “handle” is different from “[bsd.cafe](&lt;a href=&#34;http://bsd.cafe/&#34;&gt;http://bsd.cafe/&lt;/a&gt; )” – it is the spirit, not an extension, that unites us.&lt;br/&gt;&lt;br/&gt;From time to time, I have migrated the main VM of the BSD Cafe. Sometimes I have given notice, other times not (the downtime is minimal). In some cases, the system has run from my home desk, from the Mini PC I used as a home server and now use daily as a workstation. At the core of the technical choices, in fact, is the decision not to depend (strictly) on any specific technology or hardware. For this reason, the structure of the BSD Cafe is replicable and malleable, as well as described in its Wiki: it is a community of technology enthusiasts, and I want them to judge the choices transparently and autonomously, without hiding anything.&lt;br/&gt;&lt;br/&gt;The BSD Cafe was not created to be just a Fediverse instance but, from the beginning, to provide a series of services powered by the BSDs for enthusiasts and friends of the BSDs. To date, the main services are:&amp;lt;li&amp;gt;A &amp;lt;strong&amp;gt;Mastodon instance&amp;lt;/strong&amp;gt; – the beating heart of the BSD Cafe in the Fediverse, which currently has about 500 total users (now 600 – of which about half have been active in the last 30 days). This is where we chat, get informed, joke, critique, build, discuss, and get to know each other.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;A &amp;lt;strong&amp;gt;snac instance&amp;lt;/strong&amp;gt;  – also for access to the Fediverse. Snac is an example of lightweight software, with no dependencies, that is stable and easy to self-host. It does not use a database but the file system and is the basis of another project of mine, FediMeteo. The snac/ZFS combination is fantastic. The developer is a caring, helpful, and fantastic person. It is my first choice for personal projects and more – it currently has more or less 30 users.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;A &amp;lt;strong&amp;gt;Lemmy instance&amp;lt;/strong&amp;gt; – blendit – which, however, is giving me problems and headaches. I’ve been thinking about it for a while; it might be the first of the BSD Cafe services that I will be forced to retire. More about this later.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;A &amp;lt;strong&amp;gt;Matrix server&amp;lt;/strong&amp;gt; – based on Synapse, it has become the hub for many interesting topics both in the thematic channels (BSD-themed) and in the Lounge, the general channel, where we talk about a bit of everything. The server is federated, so it is also an access point for channels and groups on other servers. We chat, we discuss, we ask – a bit like with the Fediverse, but on Matrix.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;miniflux and freshrss&amp;lt;/strong&amp;gt; – RSS is not dead – it is alive and well and still a fundamental tool for updates and consultation. Two jails, two services to give our friends a way to read the news. This is our reading corner, the newspapers, the newsletters. Here, you remain autonomous and in silence, you choose what you want to read, and you savor the content. Without advertising, without interruptions.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;wallabag&amp;lt;/strong&amp;gt; – called “press” – to save your bookmarks, sites, articles. Save the web. Freely. Our post-it notes, but private.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;myip&amp;lt;/strong&amp;gt; – by connecting to myip, you will get your IP back – both v4 and v6 – via telnet, http, https, ssh, etc. – ideally, it is an echo chamber, to “hear” the reflection of your own voice – that is, your own IP.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;http://wiki.bsd.cafe/&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;wiki.bsd.cafe&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt&#34;&gt;http://wiki.bsd.cafe/&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;wiki.bsd.cafe&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt&lt;/a&gt;; – the project’s homepage and a series of articles and content about the BSDs. It is not very rich in content at the moment, but some friends contribute regularly and keep the information in it updated. It contains articles on how the BSD Cafe is structured (for each service, an explanation of the division into jails, etc.). Our recipe book – for the coffee machine, but also for the BSDs!&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;http://brew.bsd.cafe/&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;brew.bsd.cafe&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt&#34;&gt;http://brew.bsd.cafe/&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;brew.bsd.cafe&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt&lt;/a&gt;; – powered by Forgejo, it has become the home for many projects by friends of the BSD Cafe. I use it daily for my own needs, and it is a way to avoid using centralized tools controlled by the “usual suspects”. And, unlike the main and most famous similar service in the world, it also supports IPv6! It is our creative workshop, the development den. The garage where we have our tools and build, collaborating.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#34;&lt;a href=&#34;https://journal.bsd.cafe/&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;journal.bsd.cafe&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt&#34;&gt;https://journal.bsd.cafe/&amp;#34;&amp;gt;&amp;lt;strong&amp;gt;journal.bsd.cafe&amp;lt;/strong&amp;gt;&amp;lt;/a&amp;gt&lt;/a&gt;; – the latest, in chronological order, added to the BSD Cafe. Our journal, what we want to tell the world and leave a trace of. It is a WordPress blog, federated in the Fediverse thanks to the ActivityPub plugin, where authors can create and publish articles, even those not strictly related to the BSDs. So far, various articles have been published, and some of them have had some success on sites like Hacker News or &amp;lt;a href=&amp;#34;&lt;a href=&#34;http://lobste.rs/&amp;#34;&amp;gt;Lobste.rs&amp;lt;/a&amp;gt&#34;&gt;http://lobste.rs/&amp;#34;&amp;gt;Lobste.rs&amp;lt;/a&amp;gt&lt;/a&gt;; – because quality is still appreciated, especially in the world of standardized and imprecise content from LLMs (or “AI”, as is fashionable today).&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;There are other active services but not publicly usable, such as &amp;lt;strong&amp;gt;“tube”&amp;lt;/strong&amp;gt; – our TV – Peertube. They are currently experimental.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;Let’s get into the technical details:&lt;br/&gt;&lt;br/&gt;The BSD Cafe is not “cloud ready”. The BSD Cafe was not created to be serverless. We love our servers, and we don’t need the “cloud” to run our services.&lt;br/&gt;&lt;br/&gt;The BSD Cafe started with a FreeBSD VM on Hetzner in Finland for €3.29 per month. It is still active and is the primary for the entire infrastructure and is named “bsdcafevm”. It hosts the reverse proxy, in a jail, which routes all incoming connections, and is the “router” for the larger VM. This VM also hosts a “ns2” jail, which is the secondary DNS, and the “backup” instance of Mastodon, which helps with queue management and becomes primary when I shut down the other one during updates. For IPv6, Hetzner assigns a routed /64 block. I have divided it into /72 subnets so that I can route to other VPSs, services, etc., and provide an IPv6 address to any jail.&lt;br/&gt;&lt;br/&gt;The main VPS, which hosts the services, called “bc01”, connects to this VM via Wireguard. bc01 has some particular characteristics, including:&amp;lt;li&amp;gt;It was originally a VM on Proxmox, as I was using hardware I already owned. It is now on bhyve, on a FreeBSD host under my control (in Germany).&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;It does not have a public IP assigned, but connects to the Internet only via NAT on the host. This is a clear choice: this VM should only connect to bsdcafevm. BSDCafeVM will forward connections from the reverse proxy and will handle “NATing” outgoing IPv4 connections from bc01. The Wireguard rules on BSDCafeVM will also ensure that IPv6 connections reach the jails of this VM. The purpose is simple: this VM must be able to be moved anywhere, and the services must be able to resume functioning immediately. And this happens because all it needs is a Wireguard connection to BSDCafeVM, so there are no services exposed directly. This is the reason why this VM has been moved many times without any changes to IPs, addresses, etc. More information on this VM later.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;A small VM (for one euro per month) based on FreeBSD that, within a jail, has the ns1 nameserver, which is the primary authoritative one. This VM also serves other purposes from time to time, such as monitoring the rest, etc.&lt;br/&gt;&lt;br/&gt;A jail within one of my FreeBSD hosts in Poland, on OVH, contains the media files for the Mastodon instance. This is the most voluminous part of the entire hosting setup because Mastodon downloads and reprocesses all the multimedia content it encounters. This is for two main purposes: to clean it, in order to possibly remove malicious content, and to ensure that users of one’s own instance only have contact with their own media repository, not with that of the original instance – both for performance and privacy reasons. This server has spinning disks. Initially, I used Minio, but over time, performance plummeted. A few months ago, I migrated to SeaweedFS, and I am very satisfied with it. The outgoing bandwidth of this machine is not very wide, and I have other services on it. For this reason, I applied a solution that I described in an article on my blog.&lt;br/&gt;&lt;br/&gt;I have used some VMs or physical hosts (spread across Europe and the USA) to act as a CDN. The BSD Cafe’s DNS will return the IP (both v4 and v6) closest to the caller, among those available, and this host will connect directly to the media server, then caching the content. The problem, in fact, does not arise when a user scrolls through their timeline, but as soon as they publish multimedia content: all known instances will connect to download and reprocess that file, generating a spike. This has little impact if it is a normal post, but it is extremely voluminous if it is content of a considerable size, like an image or a video. In this way, the various CDN nodes will download the content only once and serve it to all instances in their area of competence. These CDN nodes also do other things, can be activated or deactivated based on my needs, and are based on FreeBSD, NetBSD, and OpenBSD (one of them is on OpenBSD Amsterdam).&lt;br/&gt;&lt;br/&gt;Another FreeBSD VPS (which I use for other things) contains “[status.bsd.cafe](&lt;a href=&#34;http://status.bsd.cafe/&#34;&gt;http://status.bsd.cafe/&lt;/a&gt; )“, which is the jail with Uptime Kuma that shows the status of the services or any of my communications about them. I do not receive notifications from this host, but from another monitoring system, so it is only to show the status of the situation.&lt;br/&gt;&lt;br/&gt;In practice, the BSD Cafe mainly needs the “endpoint” VPS, the VPS with the services, and the jail with the media, which could be condensed into a single system if desired. Everything else is optional and I keep it active as I have resources available on external hardware.&lt;br/&gt;&lt;br/&gt;Many of the technical choices have been documented in articles [on my blog](&lt;a href=&#34;https://it-notes.dragas.net&#34;&gt;https://it-notes.dragas.net&lt;/a&gt; ) or in the [BSD Cafe Wiki](&lt;a href=&#34;https://wiki.bsd.cafe&#34;&gt;https://wiki.bsd.cafe&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;But all of this requires backups. And the BSD Cafe has a clear and defined backup procedure.&lt;br/&gt;&lt;br/&gt;The main VPSs – namely bsdcafevm and bc01 – are based on FreeBSD and, therefore, ZFS. Both have the same type of backup, defined as follows:&amp;lt;li&amp;gt;A local snapshot every 5 minutes, kept for two hours. In this way, in case of problems, it is possible to “clean up the coffee drop” before the tablecloth is indelibly stained—as well as one per hour, kept for 24 hours.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;An external backup, performed at regular intervals, to an external backup host. The frequency varies from 15 minutes to an hour, depending on the available space and the load, which I modify according to my needs. All datasets of the VMs are copied, including system ones, for a possible quick recovery in case of a disaster.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;An external backup to a backup server of mine, one meter away from me. This happens every 24 hours, and I consider it the “extreme disaster recovery” because, in my opinion, the safest data is the data that is physically reachable. The disks of this server (which also contains other backups) are all encrypted with GELI, so in case of theft, they are unusable.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;Last but not least, the physical FreeBSD host on which bc01 currently rests is also backed up every 15 minutes to another external backup server, so the entire disk image. An additional layer of redundancy, to help me sleep better at night.&lt;br/&gt;&lt;br/&gt;From a technical standpoint, therefore, I have tried to create a simple but secure infrastructure, with the most granular separation possible (for example: the main Mastodon instance has a jail for Mastodon, one for the Redis for the queues, etc., one for the Redis for the timeline caches (only in RAM, does not write to disk), and one for the database (PostgreSQL).&lt;br/&gt;&lt;br/&gt;Then there are the common service jails (unbound for DNS resolutions, smtp for sending and receiving emails, etc.).&lt;br/&gt;&lt;br/&gt;*Being the Barista of the BSD Cafe is a privilege and an honor*. The success of the project has exceeded my expectations, and this has filled me with joy. The BSD community is fantastic, mature, intelligent, and positive. The friends who approach the BSDs absorb all of this and transmit it to others, creating a virtuous circle. But it’s not always roses. There are problems, from time to time, that need to be solved. And, [to quote my previous talk](&lt;a href=&#34;https://it-notes.dragas.net/2024/10/03/i-solve-problems-eurobsdcon/&#34;&gt;https://it-notes.dragas.net/2024/10/03/i-solve-problems-eurobsdcon/&lt;/a&gt; ): “*The main challenge is often ideological, not technical*“.&lt;br/&gt;&lt;br/&gt;Apart from the problems with blendit – Lemmy – which accumulates all the media it sees in a frenzied way and never deletes it, as well as having created serious update problems – all the software is on average stable and reliable.&lt;br/&gt;&lt;br/&gt;The most complex part of my role as a barista, in fact, is not technical, but human: *moderation*. The techniques of scams and disturbances are constantly improving, and it is increasingly difficult to distinguish a new friend of the bar from a troublemaker. But the biggest challenge is maintaining balance.&lt;br/&gt;&lt;br/&gt;Our philosophy is clear: *to be for, not against. Supporters, not haters*. This principle is a conscious choice, in stark contrast to the dominant model of commercial social media. These platforms are often designed around an engagement economy, where algorithms optimized to generate conflict and outrage maximize the time spent on the site and, consequently, advertising profits. The BSD Cafe rejects this model. We are not here to capitalize on anger, but to build a refuge from the toxicity of the internet.&lt;br/&gt;&lt;br/&gt;This approach manifests itself in the way we handle controversial topics. Recently, a technical theme with strong political implications has begun to appear in discussions. My line is not to censor the topic itself. I firmly believe in open discussion. I only intervene when the discussion ceases to be a critical analysis and becomes a personal attack. For some, this is not enough: they would like a total ban on certain topics and the immediate exclusion of those who introduce them. My experience, however, has shown me that a more patient approach is often more constructive. I have seen people support controversial software solutions simply because they did not know their background. Thanks to civil and informative discussions, they have understood the context, thanked the community, and made more informed choices. Banning them instantly would have been unfair and would have denied everyone an opportunity for growth.&lt;br/&gt;&lt;br/&gt;However, this philosophy of constructive positivity has attracted a specific criticism: that of promoting “Toxic Positivity”. The accusation is that, in our desire to maintain a serene environment, we end up excluding those who are suffering, invalidating their negative experiences because they “clash” with the atmosphere of the bar.&lt;br/&gt;&lt;br/&gt;This is a criticism that I take very seriously, because it touches the heart of the project. And my answer is that it is a fundamental misunderstanding of our purpose. The goal is not to deny that pain, injustice, and suffering exist in the world. On the contrary: the BSD Cafe exists precisely because the world is often a difficult place.&lt;br/&gt;&lt;br/&gt;Our purpose is not to pretend that those who suffer should stop suffering, but to offer them a place where, for a while, they may not be defined solely by their suffering. A place where they can be, first and foremost, a technology enthusiast, a FreeBSD expert, a curious OpenBSD user. A friend of the bar. We are always ready to support, console, and help those who need it, but we want to protect that mental space where shared passions unite us and give us relief.&lt;br/&gt;&lt;br/&gt;Fortunately, this vision is confirmed by the very people we are trying to help. The number of private messages of appreciation I receive from people going through terrible times far exceeds the criticism. They write to me that “the civil, friendly, and constructive level of the BSD Cafe is good for their mental health”, because it allows them to disconnect from daily dramas that would otherwise be unbearable.&lt;br/&gt;&lt;br/&gt;*I am just the Barista*. I can’t solve the world’s problems, but I can try to keep the counter clean, keep the machines running, serve a good (BSD) coffee, distribute (many) stickers, and ensure that, at least here, friends can find a moment of peace and constructive sharing. But a bar is nothing without its regulars. And the success of the BSD Cafe is not mine, but that of the BSD Community and the friends who are part of it. The richness of this place is not only the quality of the Coffee (which, being BSD, is very high), but mainly the human richness of the friends who are part of it. And to them, to all of you, I say thank you. From the bottom of my heart.&lt;br/&gt;&lt;br/&gt;We need more bars and fewer shopping malls, and that is why I recently also founded the illumos Cafe. We want people who sit down, who socialize, or who simply enjoy the atmosphere of an environment that is familiar, friendly, and positive to them. Like this conference and all the BSD Conferences, because the environment is the same. Enough of shiny shop windows; a good hot drink, in the company of friends, can help you live better. “*From the people, for the people*“.&lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2026/03/IMG_9300-1024x768.jpeg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2026/03/Bar-Italiano-.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2026/03/12be1e15b829de59-1024x512.webp&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-03-31T07:30:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsgx8qval9470u5kxu60ztypjauc55f0gdlhm05lycrxsqc9ylxu8qzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g2mv3pt</id>
    
      <title type="html">WordPress is one of the most widely used platforms for publishing ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsgx8qval9470u5kxu60ztypjauc55f0gdlhm05lycrxsqc9ylxu8qzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g2mv3pt" />
    <content type="html">
      WordPress is one of the most widely used platforms for publishing content online. It’s often criticized as an insecure platform, but in reality WordPress itself is secure – [it’s the many plugins, unmaintained or poorly developed, that generate significant vulnerabilities](&lt;a href=&#34;https://journal.bsd.cafe/2025/07/14/its-not-wordpress-its-the-plugins/&#34;&gt;https://journal.bsd.cafe/2025/07/14/its-not-wordpress-its-the-plugins/&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;Many people host WordPress on Linux, often using Docker. While this is a valid approach, there are excellent alternatives – sometimes even better ones – for getting your WordPress site online in a secure, reliable, and updatable manner. The goal is to make the web a safer place and avoid the computing monoculture that increasingly pushes toward uniformity of solutions and setups – an attitude that [I believe is harmful even when the solutions are open source](&lt;a href=&#34;https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/&#34;&gt;https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/&lt;/a&gt; ).&lt;br/&gt;&lt;br/&gt;For this type of setup, therefore, I’ll describe how to accomplish everything using FreeBSD. The jail separation, performance, and ZFS versatility – all reasons that support this choice. This guide will serve as a foundation – everything will work at the end, but it won’t cover all possible combinations or configurations.&lt;br/&gt;&lt;br/&gt;We’ll be using **[BastilleBSD](&lt;a href=&#34;https://bastillebsd.org/&#34;&gt;https://bastillebsd.org/&lt;/a&gt; )**, which supports both ZFS and UFS. While FreeBSD’s base system has everything needed to create and run jails, BastilleBSD is incredibly useful for managing them. Since it’s written in shell script and has no database dependencies, management and [backups are straightforward](&lt;a href=&#34;https://it-notes.dragas.net/2022/05/30/how-we-are-migrating-many-of-our-servers-from-linux-to-freebsd-part-2/&#34;&gt;https://it-notes.dragas.net/2022/05/30/how-we-are-migrating-many-of-our-servers-from-linux-to-freebsd-part-2/&lt;/a&gt; ). Furthermore, moving jails becomes extremely simple – either by using the *bastille* command directly or by copying the files (or datasets, if you’re using ZFS).&lt;br/&gt;&lt;br/&gt;BastilleBSD also supports templates, but for this tutorial, we’ll perform the operations manually to understand each step.&lt;br/&gt;&lt;br/&gt;First, install Bastille:&amp;lt;code&amp;gt;pkg install bastille&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Next, run the setup process:&amp;lt;code&amp;gt;bastille setup&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now, bootstrap the desired FreeBSD release:&amp;lt;code&amp;gt;bastille bootstrap 14.3-RELEASE update&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;With that, BastilleBSD is ready to go.## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Creating the JailsNow, let’s create the jail that will contain Apache, PHP, and WordPress:&amp;lt;code&amp;gt;bastille create apache 14.3-RELEASE 10.0.0.254 bastille0&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;**Note:** This command will only create and assign an IPv4 loopback address. For IPv6, the simplest solution is to assign an address for the jail directly to the host’s interface. To do this, note an available IPv6 address and assign it to the jail. For example, if the host’s network interface is vtnet0:&amp;lt;code&amp;gt;bastille edit apache&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Add the following lines to the configuration file:&amp;lt;code&amp;gt;ip6 = new;ip6.addr = &amp;#34;vtnet0|2001:0DB8:1::443/64&amp;#34;;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Restart the jail:&amp;lt;code&amp;gt;bastille restart apache&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Next, let’s ensure that connections to the host’s ports 80 and 443 are redirected to the apache jail:&amp;lt;code&amp;gt;bastille rdr apache tcp 80 80bastille rdr apache tcp 443 443&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now, if using ZFS, let’s create a dedicated dataset for WordPress and mount it in the jail. The reason is simple: decoupling the Apache jail from the WordPress directory will allow for updates, rollbacks, etc. of the Apache jail without touching the WordPress files. I assure you that, in the long run, this approach will save many headaches.&amp;lt;code&amp;gt;zfs create zroot/wordpressbastille mount apache /zroot/wordpress/ /usr/local/www/wordpress nullfs rw 0 0&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now, let’s create the jail that will contain MariaDB:&amp;lt;code&amp;gt;bastille create mariadb 14.3-RELEASE 10.0.0.253 bastille0&amp;lt;/code&amp;gt;## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Configuring the MariaDB JailAccess the MariaDB jail’s console:&amp;lt;code&amp;gt;bastille console mariadb&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Once inside, install the MariaDB server:&amp;lt;code&amp;gt;pkg install mariadb118-server&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Enable and start the mysql-server service:&amp;lt;code&amp;gt;service mysql-server enableservice mysql-server start&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now, access the MySQL command line to set up the WordPress database:&amp;lt;code&amp;gt;mysql&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Execute the following SQL commands (you should use more secure user, password, etc.):&amp;lt;code&amp;gt;CREATE USER wp@10.0.0.254 IDENTIFIED BY &amp;#39;password&amp;#39;;CREATE DATABASE wordpress;GRANT ALL PRIVILEGES ON wordpress.* TO wp@10.0.0.254;FLUSH PRIVILEGES;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Exit the MariaDB jail console to return to the host.## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Configuring the Apache &amp;amp; PHP JailNow, let’s configure the apache jail. First, access its console:&amp;lt;code&amp;gt;bastille console apache&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Inside the jail, install PHP and all the necessary extensions. We won’t install WordPress from the FreeBSD package – while it’s updated and maintained, I prefer to manage dependencies manually. It will be easier to manage updates in the long term, such as changing PHP versions, etc. At the time of writing this article, for example, the WordPress package depends on PHP 8.3 while I prefer to use 8.4.&amp;lt;code&amp;gt;pkg install php84 php84-bcmath php84-bz2 php84-calendar php84-ctype php84-curl php84-dom php84-exif php84-fileinfo php84-filter php84-ftp php84-gd php84-gettext php84-iconv php84-intl php84-mbstring php84-mysqli php84-opcache php84-pcntl php84-pdo php84-pdo_mysql php84-pecl-imagick php84-phar php84-posix php84-readline php84-session php84-shmop php84-simplexml php84-soap php84-sockets php84-sodium php84-tokenizer php84-xml php84-xmlreader php84-xmlwriter php84-xsl php84-zip php84-zlib&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Next, install Apache:&amp;lt;code&amp;gt;pkg install apache24&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Modify /usr/local/etc/apache24/httpd.conf to enable the required modules. Uncomment or add the following lines:&amp;lt;code&amp;gt;LoadModule mpm_event_module libexec/apache24/mod_mpm_event.so#LoadModule mpm_prefork_module libexec/apache24/mod_mpm_prefork.so#LoadModule mpm_worker_module libexec/apache24/mod_mpm_worker.so...LoadModule proxy_module libexec/apache24/mod_proxy.so...LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so...LoadModule ssl_module libexec/apache24/mod_ssl.so...LoadModule rewrite_module libexec/apache24/mod_rewrite.so&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Enable and start the Apache service:&amp;lt;code&amp;gt;service apache24 enableservice apache24 start&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;To optimize performance, enable PHP-FPM to listen on a socket. Modify the /usr/local/etc/php-fpm.d/www.conf file.&lt;br/&gt;&lt;br/&gt;Comment out this line:&amp;lt;code&amp;gt;;listen = 127.0.0.1:9000&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;And add these lines:&amp;lt;code&amp;gt;listen = /tmp/php-fpm.socklisten.owner = wwwlisten.group = www&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now, we need to configure Apache to use PHP-FPM correctly. Create the file /usr/local/etc/apache24/Includes/php-fpm.conf and add the following:&amp;lt;code&amp;gt;&amp;amp;lt;FilesMatch \.php$&amp;amp;gt;  SetHandler proxy:unix:/tmp/php-fpm.sock&amp;amp;lt;/FilesMatch&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Restart Apache for the changes to take effect:&amp;lt;code&amp;gt;service apache24 graceful&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;It’s good practice to copy the production PHP template to the final, modifiable php.ini file, which can be customized with the required options and limits:&amp;lt;code&amp;gt;cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Make any desired changes now (or later), then enable and start PHP-FPM:&amp;lt;code&amp;gt;service php_fpm enableservice php_fpm start&amp;lt;/code&amp;gt;## &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Installing WordPressNavigate to the web server’s root directory:&amp;lt;code&amp;gt;cd /usr/local/www&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Download and extract the latest version of WordPress:&amp;lt;code&amp;gt;fetch &lt;a href=&#34;https://wordpress.org/latest.zipunzip&#34;&gt;https://wordpress.org/latest.zipunzip&lt;/a&gt; latest.zip&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Set the correct permissions:&amp;lt;code&amp;gt;chown -R www:www wordpress/&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Now, create an Apache virtual host configuration file at /usr/local/etc/apache24/Includes/wordpress.conf – be sure to modify the “example.com” with your own real domain name:&amp;lt;code&amp;gt;&amp;amp;lt;VirtualHost *:80&amp;amp;gt;    ServerAdmin webmaster@example.com    ServerName example.com    ServerAlias www.example.com    DocumentRoot /usr/local/www/wordpress    &amp;amp;lt;Directory /usr/local/www/wordpress&amp;amp;gt;        DirectoryIndex index.php index.html index.htm        Options FollowSymLinks MultiViews        AllowOverride All        Require all granted    &amp;amp;lt;/Directory&amp;amp;gt;    ErrorLog &amp;#34;/var/log/httpd-example.com-error.log&amp;#34;    CustomLog &amp;#34;/var/log/httpd-example.com-access.log&amp;#34; combined&amp;amp;lt;/VirtualHost&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;Finally, restart Apache one more time:&amp;lt;code&amp;gt;service apache24 graceful&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;The server will now respond on port 80 with the specified hostname, but this is absolutely not optimal or recommended. It’s therefore appropriate to generate a certificate to enable HTTPS.&lt;br/&gt;&lt;br/&gt;For a simple solution, I recommend installing certbot with the Apache plugin to manage everything through Apache:&amp;lt;code&amp;gt;pkg install py311-certbot py311-certbot-apache&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;In order to automatically renew the certificates, add this line to /etc/periodic.conf:&amp;lt;code&amp;gt;weekly_certbot_enable=&amp;#34;YES&amp;#34;&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;And, once installed, generate the certificate:&amp;lt;code&amp;gt;certbot --apache -d example.com -d www.example.com&amp;lt;/code&amp;gt;&lt;br/&gt;&lt;br/&gt;You can now proceed to connect to the specified URL and begin with the WordPress guided installation, remembering the authentication and database details (the host, in this example, is 10.0.0.253 – not localhost, since we installed it in a dedicated jail).&lt;br/&gt;&lt;br/&gt;Congratulations, your site is installed and operational. Ready to receive content for publishing. It’s exposed on IPv4 and IPv6, with HTTPS (and automatic certificate renewal, managed directly by FreeBSD) and separated from the database.&lt;br/&gt;&lt;br/&gt;Generally, I prefer to add an additional jail with a reverse proxy. This way it will be possible to install different software in different jails, ensuring that the reverse proxy “routes” requests correctly. I’ll explain this procedure in a future article.&lt;br/&gt;&lt;br/&gt;While this is my inaugural FreeBSD post for the BSD Cafe Journal, I’ve actually written extensively on the topic for my own blog, &lt;a href=&#34;https://it-notes.dragas.net&#34;&gt;https://it-notes.dragas.net&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2025/07/cckf4tshauw-1024x683.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-21T07:30:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8jnvneft2nuawkag2sduss6d3z3f0n8rpt5pzz585lv6r9pxwqkqzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g532npf</id>
    
      <title type="html">Yesterday, [the schedule for the next ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8jnvneft2nuawkag2sduss6d3z3f0n8rpt5pzz585lv6r9pxwqkqzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g532npf" />
    <content type="html">
      Yesterday, [the schedule for the next EuroBSDCon](&lt;a href=&#34;https://events.eurobsdcon.org/2025/schedule/&#34;&gt;https://events.eurobsdcon.org/2025/schedule/&lt;/a&gt; ), which will be held in Zagreb, Croatia, from 25 to 28 September 2025, was published.&lt;br/&gt;&lt;br/&gt;Last year I attended EuroBSDCon and it was a fantastic experience. I enjoyed every single moment, and connecting with the people who conceive, develop, disseminate, and are passionate about *BSD and the open-source world was an unforgettable experience. I flooded the Venue with BSD Cafe stickers and attended some incredibly interesting presentations. I wrote about it [in an article for the FreeBSD Journal](&lt;a href=&#34;https://freebsdfoundation.org/our-work/journal/browser-based-edition/virtualization-2/conference-report-my-eurobsdcon-experience-in-dublin/&#34;&gt;https://freebsdfoundation.org/our-work/journal/browser-based-edition/virtualization-2/conference-report-my-eurobsdcon-experience-in-dublin/&lt;/a&gt; ), where I tried, as much as possible, to convey the positivity I felt at the event.&lt;br/&gt;&lt;br/&gt;Such a positive experience pushed me, a few months later, [to propose a talk for BSDCan as well](&lt;a href=&#34;https://indico.bsdcan.org/event/5/contributions/123/&#34;&gt;https://indico.bsdcan.org/event/5/contributions/123/&lt;/a&gt; ) – an incredible experience itself, which I will write about in more detail later.&lt;br/&gt;&lt;br/&gt;Reading this year’s program, I see a problem that I also had to face last year and last month at BSDCan: there are so many interesting presentations that they will overlap. Fortunately, the video team will provide live streams and recordings of the individual talks, allowing us to watch the presentations even if delayed.&lt;br/&gt;&lt;br/&gt;In Zagreb, Jeroen ( &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1y90887enayft4damsycxahzuwa87jvx3vhrq37c74wdzv9vdgvcq2z900y&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;h3artbl33d :openbsd: :antifa:&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1y90…900y&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; – admin of Exquisite.social) and I will present “[Liberating the social web using *BSD](&lt;a href=&#34;https://events.eurobsdcon.org/2025/talk/PJJLFV/&#34;&gt;https://events.eurobsdcon.org/2025/talk/PJJLFV/&lt;/a&gt; )” – a 90 minutes presentation where we will talk about our experiences with Exquisite and BSD Cafe – delving into both technical and human details – an incredible experience from both points of view.&lt;br/&gt;&lt;br/&gt;I suggest taking a look at the program and, if possible, participating. I can assure you it’s definitely worth it.&lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2025/07/banner-1024x341.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-16T07:30:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2xpjw09d3va0eq6n7p8jcu8h48f25rlf88srlchlwl9gk2uuj0rgzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g8h8pu4</id>
    
      <title type="html">One of the reasons I’m always so happy to attend conferences ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2xpjw09d3va0eq6n7p8jcu8h48f25rlf88srlchlwl9gk2uuj0rgzyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g8h8pu4" />
    <content type="html">
      One of the reasons I’m always so happy to attend conferences and technical events (the *real* ones – not the flashy, sponsor-driven ones designed just to sell products or services) is because I get to meet amazing people and always come away having learned something new.&lt;br/&gt;&lt;br/&gt;I’ve been using WordPress since 2006 and have been managing hundreds of installations from a sysadmin perspective. Over time, I’ve noticed a clear pattern: most hacks and compromises happen through plugins or outdated installations. And often, these installations (and plugins) become outdated because they’ve been patched together so messily that updating them becomes nearly impossible – especially when the PHP version changes.&lt;br/&gt;&lt;br/&gt;In March 2025, I attended a fantastic conference: [OSDay 2025](&lt;a href=&#34;https://osday.dev/&#34;&gt;https://osday.dev/&lt;/a&gt; ). I gave a talk on [why I believe it makes perfect sense to consider the BSDs in 2025](&lt;a href=&#34;https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/&#34;&gt;https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/&lt;/a&gt; ), but many of the other talks were truly eye-opening.&lt;br/&gt;&lt;br/&gt;To [mark the launch of the BSD Cafe Journal](&lt;a href=&#34;https://journal.bsd.cafe/2025/07/14/announcing-the-bsd-cafe-journal/&#34;&gt;https://journal.bsd.cafe/2025/07/14/announcing-the-bsd-cafe-journal/&lt;/a&gt; ), I’d like to share the link to a particularly interesting talk by Maciek Palmowski: *“How we closed almost 1k plugins in a month — the biggest WordPress bug bounty hunt.”*&lt;br/&gt;&lt;br/&gt;What struck me right away was how much his analysis of WordPress security aligned with what I’ve seen over the years: WordPress, out of the box, is reasonably secure. It’s the plugins – often old, unmaintained, or poorly written – that make it vulnerable.&lt;br/&gt;&lt;br/&gt;I highly recommend watching his talk. It’s definitely worth your time.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=Y3HsjvRAofk&#34;&gt;https://www.youtube.com/watch?v=Y3HsjvRAofk&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2025/07/zjx-z2q5zrk-1024x683.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-14T14:10:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs850rpyemrwz6h8ktcsepgef3umkdwn3cx662tg824zytcxmt7hcszyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58gmqyfha</id>
    
      <title type="html">Dear friends of the BSD Cafe, This idea has been in my mind since ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs850rpyemrwz6h8ktcsepgef3umkdwn3cx662tg824zytcxmt7hcszyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58gmqyfha" />
    <content type="html">
      Dear friends of the BSD Cafe,&lt;br/&gt;&lt;br/&gt;This idea has been in my mind since the very beginning of this adventure, almost two years ago. Over time, several people have suggested it. But until recently, I felt the timing just wasn’t right — for many reasons. Today, I believe it finally is.&lt;br/&gt;&lt;br/&gt;So I’m happy to announce a new service: **The BSD Cafe Journal**.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;What is The BSD Cafe Journal?At first, I thought I’d use BSSG for it (I even added multi-author support with this in mind), but in the end, it didn’t feel like the right tool for the job.&lt;br/&gt;&lt;br/&gt;The idea is to create a **multi-author space**, with content published on a fairly regular basis. A reference point for news, updates, tutorials, technical articles — a place to inform and connect.&lt;br/&gt;&lt;br/&gt;Just like people in Italy used to stop by cafés to read the newspaper and chat about the day’s news, the BSD Cafe Journal aims to be a space for reading, sharing, and staying informed — all in the spirit of the BSD Cafe.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;What it’s Not&amp;lt;li&amp;gt;It’s not here to replace personal blogs, or excellent newsletters like Vermaden’s.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;It’s not an aggregator.&amp;lt;/li&amp;gt;### &lt;br/&gt;&lt;br/&gt;What it *Is*&amp;lt;li&amp;gt;A place where authors can write original content.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;A space to share links to posts on their own blogs or elsewhere.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;A platform to publish guides, offer insights, or dive into technical explanations.&amp;lt;/li&amp;gt;### &lt;br/&gt;&lt;br/&gt;Our Guiding PrinciplesThe guiding principles are the same as always: **positivity, constructive discussion, promoting BSDs and open source in general.**&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;No hype:&amp;lt;/strong&amp;gt; Sharing a cool new service is fine, posting non-stop about the latest trend is not.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;No drama, no politics:&amp;lt;/strong&amp;gt; The goal is to bring people together, not divide them. To inform, not inflame.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Respect, tolerance, and inclusivity are key.&amp;lt;/strong&amp;gt; Everyone should feel welcome reading the BSD Cafe Journal — never judged, offended, or excluded.&amp;lt;/li&amp;gt;### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Why WordPress?The platform I’ve chosen is WordPress, for several reasons:&amp;lt;li&amp;gt;It’s &amp;lt;strong&amp;gt;portable&amp;lt;/strong&amp;gt; (runs well on all BSDs).&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;It has great built-in &amp;lt;strong&amp;gt;role management&amp;lt;/strong&amp;gt; (contributors, authors, etc.).&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;And — last but not least — it supports &amp;lt;strong&amp;gt;ActivityPub&amp;lt;/strong&amp;gt;.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;This means every author will have their own identity in the Fediverse and can be followed directly, and it’ll also be possible to follow the whole Journal.&lt;br/&gt;&lt;br/&gt;Original and educational content is encouraged, but it’s also perfectly fine to link to existing articles elsewhere. Personally, I’ll link my technical posts from ITNotes whenever I publish them there.&lt;br/&gt;&lt;br/&gt;The goal is simple: a **news-oriented site, rich in content, ad-free, respectful of privacy** — all under the BSD Cafe umbrella.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Getting InvolvedContent coordination will happen in a dedicated Matrix room for authors. [There’s also a public room](&lt;a href=&#34;https://matrix.to/#/#bsdcafejournal:bsd.cafe&#34;&gt;https://matrix.to/#/#bsdcafejournal:bsd.cafe&lt;/a&gt; ) for discussing ideas, giving feedback, and sharing suggestions.&lt;br/&gt;&lt;br/&gt;Of course, I can’t do this alone. A journal with no content is just an empty shell.&lt;br/&gt;&lt;br/&gt;So here’s my **call to action**:&lt;br/&gt;&lt;br/&gt;Who’s ready to lend a hand? If you enjoy writing, explaining, sharing your knowledge — **the Journal is waiting for you!**&lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2025/07/petr-sevcovic-qE1jxYXiwOA-unsplash-1024x683.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-14T07:38:10Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsfjt4xvkcqavytyl457cx932y00mghpm2xk8cj0jfs8ef9lqpl8gszyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g0vhqy5</id>
    
      <title type="html">Welcome to **The BSD Cafe Journal**! This platform is an ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsfjt4xvkcqavytyl457cx932y00mghpm2xk8cj0jfs8ef9lqpl8gszyrdjn05kl0qj9tk3segwtfeew8k02dnnzy9w670lpmc89q9mqk58g0vhqy5" />
    <content type="html">
      Welcome to **The BSD Cafe Journal**! This platform is an extension of the [BSD Cafe](&lt;a href=&#34;https://bsd.cafe&#34;&gt;https://bsd.cafe&lt;/a&gt; ), born from a long-held vision to create a central, multi-author space for the BSD and open-source communities. Just like the traditional Italian cafés (called “*bar*“) where people gathered to read the news and chat, our Journal aims to be a vibrant hub for reading, sharing, and staying informed.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;What You’ll Find HereThe BSD Cafe Journal is dedicated to providing **original, educational, and insightful content** on a regular basis. You can expect:&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;News and Updates:&amp;lt;/strong&amp;gt; Stay current with the latest happenings in the BSD and Open Source worlds.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Tutorials and Guides:&amp;lt;/strong&amp;gt; Learn new skills and deepen your understanding.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Technical Articles:&amp;lt;/strong&amp;gt; Dive into detailed explanations and analyses.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Author Contributions:&amp;lt;/strong&amp;gt; Our writers will share original articles, link to their own blog posts (but not only), and offer unique perspectives.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;This isn’t an aggregator, nor is it here to replace your favorite personal blogs or newsletters. Instead, it’s a complementary space where authors can contribute high-quality content that informs and connects our community.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Our Guiding PrinciplesThe BSD Cafe Journal operates on [the same core values that define the BSD Cafe](&lt;a href=&#34;https://mastodon.bsd.cafe/about&#34;&gt;https://mastodon.bsd.cafe/about&lt;/a&gt; ):&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Positivity and Constructive Discussion:&amp;lt;/strong&amp;gt; We aim to build up, not tear down. &amp;lt;em&amp;gt;Supporters, not haters&amp;lt;/em&amp;gt;.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Promoting BSDs and Open Source:&amp;lt;/strong&amp;gt; Our focus is on the advancement and sharing of knowledge within these communities.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;No Hype, No Drama, No Politics:&amp;lt;/strong&amp;gt; We steer clear of trends, conflicts, and divisive topics. Our goal is to unite, not inflame.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Respect, Tolerance, and Inclusivity:&amp;lt;/strong&amp;gt; Everyone is welcome here. We strive to create an environment where readers and contributors alike feel respected, never judged, offended, or excluded.&amp;lt;/li&amp;gt;### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Our Platform: WordPress and the FediverseWe’ve chosen **WordPress** for its robust features, including excellent role management for contributors and authors, its portability across BSDs, and crucially, its **ActivityPub support**. This means:&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Individual Author Identities:&amp;lt;/strong&amp;gt; Each author can have their own identity within the Fediverse and be followed directly.&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;Follow the Journal:&amp;lt;/strong&amp;gt; You can also follow the entire Journal to get all our updates.&amp;lt;/li&amp;gt;&lt;br/&gt;&lt;br/&gt;We encourage original content, but also welcome links to relevant articles published elsewhere. For example, the founder will link technical posts from [ITNotes](&lt;a href=&#34;https://it-notes.dragas.net&#34;&gt;https://it-notes.dragas.net&lt;/a&gt; ) when they’re published. Our aim is a **content-rich, ad-free, privacy-respecting news site** under the BSD Café umbrella.### &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;Join the Conversation!Content coordination for authors happens in a dedicated, private **Matrix room**. We also have a **public Matrix room** (&lt;a href=&#34;https://matrix.to/#/#bsdcafejournal:bsd.cafe&#34;&gt;https://matrix.to/#/#bsdcafejournal:bsd.cafe&lt;/a&gt;) where you can discuss ideas, provide feedback, and share suggestions with the community.&lt;br/&gt;&lt;br/&gt;The success of the Journal depends on its contributors. If you enjoy writing, explaining, and sharing your knowledge, we invite you to **join us!** The Journal is waiting for your unique voice.&lt;br/&gt; &lt;img src=&#34;https://journal.bsd.cafe/wp-content/uploads/2025/07/petr-sevcovic-qE1jxYXiwOA-unsplash-1024x683.jpg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-14T06:22:37Z</updated>
  </entry>

</feed>