snac.daltux.net is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
«Cloudflare — 2027 reden im Internet mehrheitlich Maschinen miteinander:
Das Internet war eigentlich als Medium für die Kommunikation zwischen Menschen gedacht. Zunehmend dient es aber als Kanal dafür, dass insbesondere KI-Systeme sich miteinander unterhalten. Dies wird den Traffic in Kürze sogar dominieren.»
Wenn die Bots zu mindestens was wirklich Sinnvolles so wie Produktives generieren würden aber ja…
🥳 New @small-web/kitten (Kitten globals) release.
• Improved type information.
• Now plays nice with tsconfig.json and tsc.
• Adds `rawBody` to `KittenRequest`.
This is not really a breaking change (in that it won’t break your apps) but I’m releasing it as a major version update so as not to surprise you if you notice the type information is different (more detailed than before).
To update in your kitten apps:
npm install @small-web/kitten@7
For more information on how to use this module, see the Kitten Type Safety tutorial:
https://kitten.small-web.org/tutorials/type-safety/
Full change log:
https://codeberg.org/kitten/globals/src/branch/main/CHANGELOG.md#7-0-0-2026-03-19
Enjoy!
💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #typeSafety #JavaScript #JS #nodeJS
🥳 New Kitten¹ Release
• Adds `rawBody` to non-multipart POST requests.
This property, which is a Buffer, is necessary if you want to verify signatures (e.g., for webhooks).
I had to fork express-busboy as they already ruled out adding it. The fork (@small-web/kitten-busboy²) also allowed me to type the middleware extension point for Polka³ instead of Express (Kitten uses Polka) so that’s one @ts-ignore removed (hey, dev is a string of little wins) :)
Change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-03-18
Caught a bug and feeling a little under the weather at the moment (nothing major, mom and dad – no need to worry) so apologies if I’m not responsive here.
Enjoy!
💕
¹ https://kitten.small-web.org
² https://codeberg.org/kitten/busboy
³ https://github.com/lukeed/polka
#Kitten #SmallWeb #KittenReleases #busboy #polka #express #bodyParsing #middleware #NodeJS #web #dev
I know it's easy to get down on the web, but I've seen so many cool projects and blogs and personal sites and attempts to (re?)build a more human web free of corporate social media and the enshittified part of the web...
It's giving me hope that we can build an Alternative Web. The People's Web. Free of AI bullshit, free of advertisements and tracking and all that crap so many of us just do not want.
Oh I do love how you have your Kitten¹ app’s database in memory – thanks to Kitten’s built-in JavaScript Database (JSDB)² – and accessible via the Kitten Shell (REPL)³ during dev.
(If I do say so myself.) ;)
💕
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/persistence/
³ https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
Comme on a pour projet de faire un forum web façon "années 2000" généraliste, on a fait un pad pour avoir des idées sur les catégories, groupes de topics, topics et design pour ce futur forum !
N'hésitez pas à y proposer vos idées et en parler à vos ami·es à qui les forum manquent et à retoot :
The current state of the web assumes that the reader is an adversary to be trapped and monetized.
When a news website forces you through three dismissive actions just to read a headline, they are burning your cognitive budget before delivering any value. You are greeted by a cookie banner taking up the bottom 30% of your screen, a "Subscribe!" modal dead center, an autoplaying video pinned to the corner and a prompt begging to send you push notifications.
I wrote about the state of news websites. Would love to hear your thoughts✨🙏
https://thatshubham.com/blog/news-audit
#enshittification #darkpattern #web #technology #socialmedia #indieweb #ux #privacy
‚Snowflake ist eine für den Tor Browser verfügbare austauschbare Übertragungsart, mit der sich Internetzensur umgehen lässt. Wie eine Tor-Brücke kann ein Benutzer auf das offene Internet zugreifen, wenn selbst reguläre Tor-Verbindungen zensiert werden. Die Verwendung von Snowflake ist so einfach wie der Wechsel zu einer neuen Brücken-Konfiguration im Tor-Browser.‘
https://support.torproject.org/de/anti-censorship/what-is-snowflake/
Starte die Nutzung von #Snowflake jetzt:
--> https://snowflake.torproject.org/de/
Vous pourrez trouver sur https://chatons.org des instances FreshRSS sur lesquelles créer un compte, puis utiliser Capyreader sur mobile ou RSSGuard sur ordi
#RSS #FreshRSS #CapyReader #RSSGuard #CHATONS #information #web
🥳 New Kitten¹ Release
• Fixed: Errors in a project’s _main.script.js_ now cause a hard crash without retry attempts. The errors are also now better classified and communicated.
• Housekeeping: Removed unmaintained dev dependency, updated supported ES versions to esnext and simplified jsconfig.json.
Full change log:
https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#changelog
Enjoy!
💕
There’s life beyond VSCode… thought I’d share my dev setup:
• Main monitor: WezTerm¹ running in a three (sometimes four)-way split with Helix Editor² as my main editor, a terminal pane for general commands while working, and Yazi³ usually running in another for working with files/directories in a project.
• Other monitor: Sublime Merge⁴ always running full-screen so I can immediately see exactly what I’ve changed (in real time) as I’m working.
Others (not shown): Browser(s) on a third screen and my laptop’s monitor as a fourth screen sometimes for other apps (read: distractions) :)
What’s yours like?
¹ https://wezterm.org
² https://helix-editor.com
³ https://github.com/sxyazi/yazi
⁴ https://www.sublimemerge.com
#myDevSetup #web #dev #WezTerm #HelixEditor #Yazi #SublimeMerge
🥳 New Kitten Release
I just reworked the fix for this to simplify the Kitten renderer (as this fix introduced a regression with components getting instantiated multiple times due to the fall-through logic between asynchronous and synchronous rendering). The renderer now treats every component render function as asynchronous, thereby avoiding the issue entirely.
Enjoy!
💕
#Kitten #KittenReleases #SmalWeb #SmallTech #web #dev #components #async #rendering
🥳 New Kitten Release
This one fixes a bug that you would have encountered had you had an asynchronous component (component with asynchronous render method) nested more than one-level deep within synchronous components.
(Kitten’s html renderer transparently supports both synchronous and asynchronous render methods.)
So, this (taken from my unit test), for example, works correctly now:
```js
class AsynchronousOtherName extends KittenComponent {
async html () {
await new Promise(resolve => setTimeout(resolve, 10))
return kitten.html`<i>Balkan</i>`
}
}
class SynchronousName extends KittenComponent {
/* NOT async */ html () {
return kitten.html`<strong>Aral</strong> <${AsynchronousOtherName.connectedTo(this)} />`
}
}
class SynchronousTemplate extends KittenComponent {
html ({ SLOT }) {
return kitten.html`[Before slot]${SLOT}[After slot]`
}
}
class MyPage extends KittenPage {
html () {
return kitten.html`
<${SynchronousTemplate.connectedTo(this)}>
<h1>This should render all at once after a short delay.</h1>
<p>Hello, <${SynchronousName.connectedTo(this)} /></p>
</>
`
}
}
```
Enjoy!
💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #JavaScript #NodeJS #async #render
🥳 New Kitten Release
• Added `target` and `data-*` to the list of safe attributes you can specify within curly brackets when writing Markdown in Kitten.
Enjoy!
💕
#Kitten #KittenReleases #SmallWeb #SmallTech #Markdown #web #dev
@gumnos @vasilis @dillo I feel the exact same!
I want to be able to use the #Web with #Lynx on @OS1337 over #Iridium and/or @torproject / #Tor and not feel excluded, bottlenecked, excluded or otherwise discriminated.
We need more #accessibility, and the only feasible option is #simplicity and #FrugalComputing.
🥳 New Kitten¹ release
• Added `initialise()` hook to `kitten.Component` instances.
This gets called at the end of the constructor and is handy if you don’t want to override the constructor and have to handle the `data` parameter and remember to call `super(data)`. You can still access passed data from `this.data`.
Note that the component is not part of the view hierarchy on the client at this point. If you have tasks you need to perform only once per page – for example, instantiating a child component to use in your view template – override the `onConnect()` handler instead which is guaranteed to be called just once when your component has successfully been added to a connected page.
https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-02-23
Enjoy!
💕
¹ https://kitten.small-web.org
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #components
If you’re looking for an ngrok alternative for tunnelling that is affordable and just works (e.g., with Kitten¹), I can highly recommend LocalXpose (https://localxpose.io/).
(Not affiliated with them in any way; just use their tunnels for testing with Kitten on a daily basis.)
PS. If you have a static IPv4 address for your dev machine or if your network is IPv6 compatible, you can now run secure servers on IP addresses, so that’s another option if you need your app to be universally accessible during dev/testing (e.g., for web hooks, etc.) without requiring any external services. But, for most of us, something like LocalXpose is essential and it’s the best I’ve found so far.
Today's post: me talking about how cool @dillo is
Tem um gráfico que é vazado da Google mostrando como eles conseguem disponibilizar dados supostamente criptografados pras agências de inteligência dos EUA. Algo tipo Google Proxy Server, não lembro.
Vcs sabem do que tô falando? Alguém sabe onde achar essa imagem?
Edit: @cadusilva achou!
https://www.agwa.name/blog/post/cloudflare_ssl_added_and_removed_here
Still using `npm init -y`?
May I introduce you to `npm init --init-type=module --init-license=AGPL-3.0-only -y`?
👍 Free software license (makes “open” as in ”open for business” folks squirm)
👍 ES modules (because it’s 2026)
#nodeJS #npm #FreeSoftware #AGPL #ECMAScriptModules #JavaScript #web #dev
🥳 New Kitten release
Just released a new version of Kitten that now includes JSDB 7.0.0 with its improved JSTable.PERSIST event.
Note that this is a breaking change. If you’re listening for the old 'persist' event, please update your code.
For more information, please see the changelog: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#breaking-changes
Enjoy!
💕
#SmallWeb #SmallTech #Kitten #KittenReleases #web #dev #JavaScriptDatabase #JSDB #NodeJS
Acho que é o sítio da Web mais bem construído absolutamente sem exigir a execução local de qualquer código remoto que me lembro de ter visto. Inspirador!
A propósito, descubra por que desativar JavaScript hoje.
So a little while back, @laura wrote an excellent introductory book on accessibility and inclusive design called Accessibility for Everyone for A Book Apart.
Then, A Book Apart folded and the authors managed to get their rights back.
And yesterday, after Laura put a huge amount of work adapting the book into a beautiful website she built using Kitten*, we republished the book under Small Technology Foundation Press.
You can read it for free at:
https://accessibilityforeveryone.site/
If you want to support our work that makes such things possible, please consider becoming a patron of Small Technology Foundation. We’re tiny, independent, and not for profit. We reject all types of equity investment (VC, etc.) and won’t be sponsored by or otherwise allow our legitimacy to be used to whitewash Big Tech.
https://small-tech.org/fund-us
* https://kitten.small-web.org
#accessibilityForEveryone #LauraKalbag #accessibility #a11y #inclusivity #usability #ethics #web #design #SmallTech
🖱️ Copiei para a seguinte página as poucas linhas necessárias com a indicação de onde colá-las para que o navegador da Web passe a ampliar as imagens dos emojis personalizados no quando o cursor do mouse paira sobre elas ou são tocadas. Isso foi feito no #Mastodon da comunidade #Ayom. É um exemplo que pode, ainda, ser adaptado para outros sistemas e praticamente qualquer página da Web:
https://forum.ayom.media/post/238733
Também aproveitei o princípio nesta minha instância do SNAC.
Your regular reminder to use the #Tor browser on a daily basis.
The more you use it, the better protected are people in repressive countries who want to use a free internet, journalists and researchers who want to protect themselves from discovery, whistleblowers, activists, and ordinary people who want to opt out of invasive third party tracking.
Desktop and mobile: https://www.torproject.org/en/download
Votre rappel régulier d'utiliser le navigateur #Tor au quotidien.
Plus vous l'utilisez, mieux sont protégées les personnes situées dans des pays où règne la répression et qui souhaitent utiliser un Internet libre, les journalistes et les chercheurs qui ne veulent pas être découverts, les lanceurs d’alerte et les personnes ordinaires qui ne veulent pas être suivis à la trace par des tiers invasifs.
Sur ordinateur et sur mobile : https://www.torproject.org/fr/download
Added information on HTML, CSS, and Markdown Fragments to the Kitten Components and Fragments tutorial, including a little TypeScript type declarations file you can add to your projects so you don’t get type warnings for them when you import them in your projects:
https://kitten.small-web.org/tutorials/components-and-fragments/#html-css-and-markdown-fragments
Enjoy!
💕
#Kitten #SmallWeb #SmallTech #web #dev #fragments #TypeScript
🥳 Multiple major releases today
• @small-tech/auto-encrypt v5.0.0 (https://codeberg.org/small-tech/auto-encrypt#readme)
• @small-tech/auto-encrypt-localhost v10.0.0 (https://codeberg.org/small-tech/auto-encrypt-localhost/#readme)
• @small-tech/https v6.0.0 (https://codeberg.org/small-tech/https/#readme)
These releases bring short-lived certificates, IP Address (IPv4 and IPv6) support, and ACME Renewal Information (ARI) support to Auto Encrypt and @small-tech/https, implement a consistent asynchronous API across all three packages, and include loads of little fixes and code quality improvements.
This brings us very close to getting Web Numbers¹ support implemented natively in Kitten².
OCSP support is removed from Auto Encrypt and Windows support is dropped from all three packages as Microsoft is complicit in Israel’s genocide of the Palestinian people³ and Small Technology Foundation⁴ stands in solidarity with the Boycott, Divestment, and Sanctions (BDS) movement. Furthermore, Windows is an ad-infested and surveillance-ridden dumpster fire of an operating system and, alongside supporting genocide, you are putting both yourself and others at risk by using it.
Enjoy!
💕
🇵🇸 To support families facing genocide in Gaza, consider donating to them via Gaza Verified: https://gaza-verified.org/donate/
¹ https://ar.al/2025/06/25/web-numbers/
² https://kitten.small-web.org/
³ https://www.bdsmovement.net/microsoft
⁴ https://small-tech.org/
#SmallWeb #SmallTech #AutoEncrypt #AutoEncryptLocalhost #https #TLS #NodeJS #web #dev #ACME #LetsEncrypt #WebNumbers #Kitten #BDS #Palestine #Gaza #FreePalestine
Na tornozeleira eletrônica de bolso , a dica é
#Fennec, também com propósito de ser um Firefox mais limpo. Está disponível na
F-Droid.
Sob vários aspectos, é muito importante estimular que o pessoal deixe de utilizar apenas Chrome e/ou seus derivados, inclusive para garantir a diversidade da #Web.
https://f-droid.org/packages/org.mozilla.fennec_fdroid
Para quem não conhece, Fennec é o navegador da Web para
limpo de telemetria e partes privativas. 🧼
daltux.net e snac.daltux.net de maneira a exibir #emojis consistentemente, sem depender das fontes desse tipo no sistema operacional cliente, que podem variar ou faltar. Também quis provar a possibilidade de dispensar as fontes mais usadas para isso atualmente, de origens em corporações controversas.Desenvolvi um script de ~150 linhas que facilita obter e adaptar os arquivos necessários para um diretório hospedado pelo servidor HTTP: https://codeberg.org/daltux/openmoji-woff-css
O projeto OpenMoji também tem instruções para outras situações de uso da fonte experimental.