Bruno Cesar Rocha

0 Followers
0 Following
14 Posts
Born in #🇧🇷 and now calling the far north of #🇵🇹 home, I’m a husband and proud dad who has always tried to live with intention including being a strict #vegetarian since day one.

Music-wise, my headphones are usually blasting some form of #metal from the classics to the obscure corners of the genre.

I’ve been tinkering, breaking, fixing, and rebuilding computers and #linux systems since 1998 which means it’s been nearly three decades of curiosity-driven hacking. Professionally, I’ve been writing software since 2003, and today I work as a Principal Engineer at #RedHat #OpenShift #Kubernetes #Container Platform.

I’m a long-time advocate of #freesoftware and have been actively involved in the #python and #rustlang communities, and more recently exploring #golang. I’m the creator of #Dynaconf (a Python configuration library) and #marmite (a #rust blog generator), and I contribute to projects like #ansible, #openshift, and #danklinux.

My daily setup? #NiriWM running on #fedora, coding with the legendary #vim 9.


I use this space as my second social home and, truth be told, I’m often more active here than on my primary account. Over there, I usually write in Portuguese. Here, I stick to English.

You can think of this #Snac instance as my unfiltered, no-limits corner of the internet, a place where I speak more freely and experiment more openly. On my other account, I tend to follow Fediverse etiquette more closely and keep things a bit more restrained.
Socialhttps://go.rocha.social/@bruno
Bloghttps://rochacbruno.com
Morehttps://bruno.rocha.social
Today was my last day working at #Ansible
after amazing 5 years dedicating to large scale web development for Ansible Automation Platform with focus on #Python and #Django and distributed systems.

I am taking 20 days off 🌴 and then starting my new role as a Principal Software Engineer at the #Openshift #Container Platform focusing on #golang #cloud #infrastructure #kubernetes #k8s

Same company! #RedHat is amazing! just a different challenge for at least the next 5 years I wish.
Rust and LLMs: The Compiler Does What Code Review Shouldn't Have To

Rust's biggest barrier was the learning curve. LLMs reduced it dramatically. The compiler, the type system, and the ownership model stayed. That combination matters.

Alex Rezvov Unscripted
I added a page to my blog listing all projects I am currently maintaining or contributing to.

https://rochacbruno.com/projects.html
Projects I've been working on

Software Dynaconf 🐍 #python The settings library for Python that integrates with any project and pro...

Bruno Rocha
Deploy your own Fediverse instance with Snac

If you want to be in the Fediverse without relying on big intances, or if you just want to own your ...

Bruno Rocha
Now # Snac is available to install from #yunohost app catalog -> https://apps.yunohost.org/app/snac

What is Snac?

Snac (also known as #Snac2) is a simple, minimalistic ActivityPub instance. It is written in portable C and uses a file-based storage system with no database required.

It supports creating and managing user accounts, posting, following, and interacting with the wider Fediverse. It also includes a Mastodon-compatible API for use with third-party clients.

IMO: It is the best option for people who wants to self-host their own Fediverse instance.

What is YunoHost

TL;DR: Install Yunohost on Debian system, it manages your domains, email, SSl certificates and you can install multiple applications from its app catalog.

YunoHost is an operating system aiming to simplify server administration and therefore democratize self-hosting while making sure it stays reliable, secure, ethical and lightweight. It is a copylefted libre software project maintained by volunteers. Technically, it can be seen as a server distribution based on Debian GNU/Linux.


Install #Yunohost https://doc.yunohost.org/en/category/-get-started
Install #Snac https://apps.yunohost.org/app/snac


YunoHost app store | snac2

I submitted the #Snac app to #Yunohost app store

Waiting approval, here's the PR https://github.com/YunoHost/apps/pull/3375

C/C @[email protected] @[email protected]
It even have full management of Snac config on the YunoHost panel

@[email protected]

My only issue right now is that codeberg is down so my tests will proceed tomorrow.
I am working on a #yunohost installer for #snac https://github.com/rochacbruno/snac_ynh

Few more adjust and I will submit to the main #YunoHost appmarket place

I think it would be useful to have #Snac on #Yunohost app marketplace, Snac is easy to deploy, but one click install + domain management from YunoHost would help a lot.

Your snac posts can be fancy

Messages in snac allow a special subset of Markdown, that includes emphasized, strong, monospaced, strikethrough and underlined styles by surrounding text with one asterisk, two asterisks, backquotes, two tildes and two underlines, respectively.

Line breaks are respected and output as you write them.


Prepending a greater-than symbol in a line makes it a quote:
This is quoted text

All angle-prepended lines are grouped in the same blockquote
It also allows preformatted text using three backquotes in a single line:

/* this is preformatted text */

struct node {
struct node *prev;
struct node *next;
};

  • One level bullet lists
  • are also supported,
  • by starting a line with a hyphen or asterisk followed by a space.
URLs like https://en.wikipedia.org/wiki/Main_Page are made clickable.

Links can also be written in standard Markdown style.

Some emojis: 😆 ❤️ 🍺 🤷 ¯\_(ツ)_/¯

Image URLs written in standard Markdown style for images are converted to ActivityPub attachments.

Three minus symbols in a line make a separator:


Headings can be defined using one, two, or three hash symbols in the beginning of a line, followed by a blank:

header level 1

header level 2

header level 3

But please take note that every ActivityPub implementation out there have its own rules for filtering out these formatting styles, so you can only guess what other people will really see.

These acrobatics are better documented in the snac(5) man page.

WHAT IS THIS SNAC THING?