social.dk-libre.fr 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.
HLBuilder offre une interface visuelle pour planifier son homelab : topologie réseau en drag-and-drop, recommandations hardware selon vos besoins et liste de courses avec estimations de prix. Open source et self-hosted. ⬇️
https://github.com/Butterski/homelab-builder
📬 Ma veille dev de la semaine → https://www.camilleroux.com/veille
Cloud Mail : un service mail self-hosted sur Cloudflare Workers, sans serveur. Envoi via Resend, pièces jointes sur R2, notifications Telegram et détection automatique des codes de vérification par Workers AI. ⬇️
https://github.com/maillab/cloud-mail/blob/main/README-en.md
📬 Ma veille dev de la semaine → https://www.camilleroux.com/veille
Flix : un quadcopter open source à base d'ESP32, conçu pour l'éducation et la recherche. Firmware Arduino en moins de 2 000 lignes, simulation Gazebo, bibliothèque Python, protocole MAVLink. Le châssis s'imprime en 3D. ⬇️
https://github.com/okalachev/flix
📬 Ma veille dev de la semaine → https://www.camilleroux.com/veille
Manim : le moteur Python derrière les vidéos de 3Blue1Brown, disponible en open source. Du code Python vers des animations mathématiques précises, avec support LaTeX et rendu OpenGL. `pip install manimgl` suffit pour démarrer. ⬇️
https://github.com/3b1b/manim
📬 Ma veille dev de la semaine → https://www.camilleroux.com/veille
NASA Worldview : plus de 1000 couches satellite mondiales en haute résolution, avec certaines données disponibles 3h après observation. Open source, compatible OpenLayers, Leaflet et Cesium. ⬇️
https://github.com/nasa-gibs/worldview
📬 Ma veille dev de la semaine → https://www.camilleroux.com/veille
reqlog génère un dashboard live de toutes vos requêtes HTTP.
Headers, body, latence, replay et diff entre appels. Trois lignes pour l'intégrer sur Express, NestJS, Fastify ou Go. ⬇️
https://github.com/FirasLatrech/reqlog
📬 Ma veille dev de la semaine → camilleroux.com/veille
Weathergotchi : un petit appareil autonome qui mesure en continu la température et l'humidité, affiche les données sur un écran basse consommation et garde l'historique en mémoire. Open source, schémas et firmware inclus. ⬇️
https://github.com/Michael-Manning/E-Paper-Climate-Logger
📬 Ma veille dev de la semaine → https://www.camilleroux.com/veille
Le plus bel outil de visualisation de regex que j'ai vu depuis des années.
Regex Vis est un visualiseur et éditeur de regex qui rend les expressions régulières plus lisibles. ⬇️
https://regex-vis.com/
Databasement : sauvegardes de bases de données via une interface web, self-hosted. MySQL, PostgreSQL, MongoDB, Redis, planification, rétention GFS, restore cross-serveur, stockage S3/SFTP/local, SSH tunnel. Un conteneur Docker suffit. ⬇️
https://github.com/David-Crty/databasement
Your favorite #podcast ( you know the one. The one that's #livestream at FiresideFedi.live and the #VODS hosted at tubefree.org/@firesidefedi )
MORE LIVE-ER
...
than EVER!
...
FIRESIDE FEDI LIVE!
...
AND IN PERSON!
They said it couldn't be done! But we're doing it!
Talking with #fediverse #developers live and on stage!
...
FIVE on ONE!
...
Without a NET!
And this time the STAKES are even HIGHER!
Live studio audience!
RABID #Fedizens!
...
Rabid for content!
...
WITH SPECIAL GUEST for the first time ANYWHERE:
JOHN MASTODON! *Cancelled*
This won't be just any normal show! It's the show you've waited your ENTIRE LIFE to see!
We'll also be speaking with these following extraordinary people:
- Dan Supernault - @dansup@mastodon.social
Currently building @pixelfed, @loops, @supapp, @fedidb, and more.
- Django Doucet - @django@social.coop -
At #CoLab.coop , #Django is a developer for #WordPress sites. His approach is people-centric, which influences the usability, #performance and #accessibility of his designs.
- Vagrant Cascasian - @vagrantc@floss.social -
Involved in various #FOSS projects such as #ReproducibleBuilds #Debian #Guix and so much more. Passionate about #Aikido and #Solar hobbyist.
- Matt Baer - @matt@writing.exchange -
#Founder writing.exchange/@write_as , musing.studio
Lead #dev writing.exchange/@writefreely
Co-organizer gram.social/nycphotostroll
#Admin @ https://Writing.Exchange
- Ben Pate - @benpate@mastodon.social -
Ben is the nerd who's building emissary.dev/ - an #ActivityPub server for building custom social applications on the #Fediverse .
First app on this platform is a #music #sharing #server for indie bands, called bandwagon.fm/ . He's also working on atlasmaps.org/, a #social #mapping server for adding #Federated annotations to places in the real world.
HARD HITTING questions! Questions like:
Pie or Cake?
Red, Blue or Green?
Best Fediverse Application?
Don't forget to catch us at #FOSSY #FediCon track Aug 8th! 2026.fossy.ca/schedule/prese...
IT
WILL
BE
hopefully, honestly just a really a lovely time really!
Les devs n'aiment pas le CSS parce qu'ils ne le maîtrisent pas vraiment. L'article déconstruit les idées reçues : CSS est un vrai langage, avec ses règles de cascade qui déroutent les habitué·es des langages généralistes. ⬇️
https://csscade.fr/articles/pourquoi-les-devs-naiment-pas-le-css/
Native SDK : un toolkit pour construire des apps desktop natives avec du markup déclaratif et Zig comme logique, aucun browser, aucun WebView, un binaire de quelques mégaoctets. ⬇️
https://github.com/vercel-labs/native
Infrastructure as code pour un homelab Proxmox et Kubernetes, géré en GitOps avec Flux, Ansible et Talos. Le repo expose l'ensemble de la configuration : VMs, cluster K8s, automatisations et networking, tout versionné et déployé via CI/CD. ⬇️
https://github.com/Mafyuh/iac
#ArcaneChat's in-chat mini-apps have more potential than most people realize
This is incredible awesome: treasure chests in chats that can only be unlocked with the right key!
Basically with this content creators and channel owners can offer paid posts, sticker packs and other content to their subscribers
This was created by a channel owner for their particular needs in a few hours, and delivered to users across several platforms, no need to struggle with publishing to app stores
When I look in sources for real work I use the old school method
This is just a lazy exercise
DESCRIPTION
badblocks is used to search for bad blocks on a device (usually a disk partition). device is the special file corresponding to the device (e.g /dev/hdc1). last_block is the last block to be checked; if it is not specified, the last block on the device is used as a default. first_block is an optional parameter specifying the starting block number for the test, which allows the testing to start in the middle of the disk. If it is not specified the first block on the disk is used as a default.
sources:
man badblocks(8)
https://explorar.dev/linux-kernel/
#kernel #sources #programming #logic #terminal #linux #explorar #dev #bash #csh #kzh #zsh #sh
🔎 x402 : paywaller une API sur un site statique sans pub ni bouton de don, via le protocole x402 et un Cloudflare Worker. Un exercice concret qui montre enfin à quoi peut servir le code HTTP 402, resté inutilisé depuis des décennies. ⬇️
https://shtein.me/posts/x402-poc/
🔎 asciinema : enregistrer son terminal dans des fichiers texte ultra-légers, rejouables à la demande, exportables en GIF via `agg`. Utile pour documenter des procédures ou illustrer des formations sans passer par la vidéo. ⬇️
https://www.linuxtricks.fr/wiki/asciinema-enregistrer-son-terminal-rejouer-les-replays-export-en-gif
🔎 DNSGlobe : un checker de propagation DNS en TUI Rust, qui interroge 34 resolvers en parallèle dans le monde entier et affiche les résultats sur une carte dans le terminal, avec un mode watch qui refresh automatiquement jusqu'à propagation complète. ⬇️
https://github.com/514-labs/dnsglobe
Just learned about the `gw` navigation command in Helix Editor and, wow, how have I lived before?
(Bind it to enter in normal mode for an even better workflow.)
Credit: https://www.reddit.com/r/HelixEditor/comments/1iearpt/comment/ma64dqd/
TypeScript 7.0 est sorti : le compilateur devient beaucoup plus rapide
https://jatniel.dev/fr/bytes/typescript-70-est-sorti-le-compilateur-devient-beaucoup-plus-rapide
#dev #javascript #go
🔎 ds.css : un framework CSS qui recrée fidèlement l'interface de la Nintendo DS Lite, double écran compris ⬇️
https://github.com/spiritov/ds.css
🔎 Flyline : un plugin Bash écrit en Rust pour remplacer readline, avec coloration syntaxique, recherche dans l'historique, prompts enrichis, tooltips et intégration d'agents, sans plugin manager ni configuration laborieuse. ⬇️
https://github.com/HalFrgrd/flyline
🔎 QUALITY.md : un format de fichier ouvert pour déclarer ce que "bon" signifie sur un projet, sécurité, maintenabilité, qualité du code, des tests, avec un contexte explicite et des critères évaluables par des humains ou des agents. ⬇️
https://getquality.md/
update-notifier-crash on Ubuntu 24.04 wrote 1 Tbyte of garbage to syslog before I noticed and stopped it. I noticed because it filled the disk.Unbelievably annoying behavior. I guess that'll teach me to ignore an update notification rather than figuring out how to disable it forever.
🔎 Oak, une couche de versioning pensée pour les agents de code : une branche par session, des descriptions plutôt que des commits, et un montage lazy pour attaquer n'importe quel dépôt en quelques secondes. ⬇️
https://oak.space/docs
🔎 Cloudflare Drop : déposez un dossier ou un zip dans le navigateur, le site est en ligne sur le réseau Cloudflare en quelques secondes. Sans compte. Le déploiement expire après 60 minutes, sauf si vous le réclamez. ⬇️
https://www.cloudflare.com/drop/
Astryx : le design system open source de Meta, en beta, 160+ composants React, thèmes personnalisables et support MCP pour l'intégrer directement dans un workflow avec des agents IA. ⬇️
https://astryx.atmeta.com/
cnie-python-tools lit la puce NFC de la carte d'identité française sous Linux : état civil, adresse, photo JPEG 2000. Les empreintes restent hors de portée, protégées par l'EAC. ⬇️
https://korben.info/carte-identite-electronique-lire-puce-python.html
superfile : un file manager en terminal qui fait enfin attention à son apparence, navigation clavier, thèmes, plugins, support macOS/Linux/Windows, installation en une ligne. ⬇️
https://www.opensourceprojects.dev/post/superfile
Hanami 3.0 : mailers, i18n et Minitest au programme, avec des perfs qui donnent envie, jusqu'à 3x plus de throughput et 14x moins d'allocations par requête, sans toucher au code existant. ⬇️
https://hanakai.org/blog/2026/06/30/hanami-3-0-in-full-bloom
[edit] prob visible sous Chrome uniquement... Chrome caca !
Hello !
J'encode des vidéo MOV (QT) en MP4, avec ffmpeg.
J'ai bien l'habitude de cet outil mais pour la première fois, j'ai une désynchronisation du son et de l'image, pas super flagrant mais visible quand même.
J'ai testé PLEIN d'options pour gérer ça... et là j'en suis à changer de format de sortie pour passer en WEBM.
Si quelqu'un⋅e à déjà expérimenté le prob avec ffmeg, je suis preneur d'un retour !
Merci d'avance !
#ffmpeg #video
Open source game engine Godot will no longer accept AI-authored code contributions: 'We can't trust heavy users of AI to understand their code enough to fix it'
At risk of drowning in AI slop code, @godotengine is firming up its contribution requirements.
#gamedev #aicoding #godot #opensource #godotgameengine #dev #aicoding #aislop
#DEV
- il peut y avoir des doublons dans la colonne UID
- moi... U c'est pas pour unique ????
Heads up for #golang Chatmail bots developers:
The Chatmail API for Go library got a new release to support the latest chatmail core 2.53.0
https://github.com/chatmail/rpc-client-go
#chatmail #deltachat #bots #dev #devs #developer #api #e2ee #privacy #security #opensource #go #programming #automation
Sharing this not because it’s about AI/LLMs but because it’s solid advice and the recommendations work equally well for *people* coding web applications (funny that, almost like these things were made by people for people or something).
TL;DR: Use web and platform standards; don’t reinvent the wheel.
🥳 New release: Tap Monkey version 2.0
I just released version 2 of Tap Monkey (a TAP formatter that’s also a monkey), reworked for node:test.
(TAP is meant to be a standard and all but node:test and Tape spit out very different diagnostics, etc., so I thought it best to keep the Tape version at 1.x – it’s basically been done for years now anyway – and have a separate 2.x branch for modern node:test, which is clearly based on Tape and has huge advantages like concurrent tests – which just sped up my unit tests on Kitten by 8× after I refactored them so they could run concurrently.)
https://codeberg.org/small-tech/tap-monkey
Enjoy!
🍌🐒
Ce mardi 30 juin 2026 à 18h30, je présenterai le fonctionnement de Trognoncal, le moteur d'agenda culturel participatif que je développe depuis plus de trois ans pour propulser https://pommesdelune.fr
Ça se passera au bar Fermenté.e, et même si on ne rentrera pas trop dans la technique, je présenterai tout de même pas mal d'éléments du fonctionnement interne.
Tout ça est organisé par David Rigaudie / PyClermont, et il reste encore quelques places :
https://www.meetup.com/pyclermont/events/315067285/
Après 20h, on invite toutes les personnes intéressées par l'agenda à venir partager un moment de convivialité pour la fin de la deuxième saison de pommes de lune.
Nanowar Of Steel - Kotlin (Official Power Point Video) - https://www.youtube.com/watch?v=BsfXZjKLT9A
🤣
ArcaneChat / DeltaChat channel for you:
Debugging Memes - developer&linux memes, open source and other nerdy and tech related stuff, to join click here:
#memes #fun #meme #channel #decentralization #encryption #e2ee #ArcaneChat #DeltaChat #linux #opensource #gnulinux #developers #development #dev
If you’re trying to register for a Bank of Ireland account and the form fails silently, don’t worry, it’s simple to find out what happened and fix it.
1. Open up developer tools on your browser
2. Copy the failed regular expression from the console
3. Put it, and your generated password into Regexr (https://regexr.com)
And voila, as you can see the problem with mine* was that it hit the 16 character limit which was, to keep things exciting, not mentioned on the page.
Simples.
What muppets!
* Don’t worry, it’s a different one now.
#capitalism #mainstream #mediocrity #BankOfIreland #banks #design #web #dev #ireland
And here’s a real-world example of the lifecycle of an action performed on a local copy of the Gaza Verified web site¹ showing the event from the toggle button on the client being automatically mapped to the relevant event handler on the SignUpsSwitch Kitten component instance on the server and that handler setting a boolean on a JavaScript object in memory, which is automatically persisted to disk via Kitten’s default JSDB² database.
Note that Kitten is smart enough to automatically redact fields in the log output that look like they might be secrets.
All this is in the stateful-components-api-breaking-change branch³ at the moment and will be in the next release.
¹ https://gaza-verified.org
² https://codeberg.org/small-tech/jsdb
³ https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #GazaVerified
You also have some helpful new error messages to look forward to :)
#SmallWeb #Kitten #NodeJS #JavaScript #web #dev #statefulComponents #streamingHTML #hypertext #errorMessages
PS. The updated component render you’re seeing streamed to the browser in the previous screenshot is the code rendered by Kitten (showing the underlying HTMX internals, etc.)
The code you write in Kitten is considerably less complicated.
The attached screenshot is all the code in the simple counter example (all in one file, index.page.ts). To run it, you’d just run `kitten` in the directory that file is in and then hit https://localhost.
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
Very excited about the new stateful components model in Kitten¹ that I’m looking forward to releasing this week (finally) and the amount of visibility you can now get into the flow of your Kitten apps in the Kitten Interactive Shell (REPL)².
Since the new model is a breaking change (Kitten is prerelease) I’m in the middle of updating our own apps/sites and I still need to document everything. So it will take me a few days to do all that but then I’m very much looking forward to focussing on finishing up Catalyst and Yarn³ for launch this year.
It’s been a six year trek to reach what will essentially be the starting point of the Small Web :)
💕
PS. If you want to support our work, please see https://small-tech.org/fund-us/
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
³ https://ar.al/2024/06/24/small-web-computer-science-colloquium-at-university-of-groningen/
#SmallWeb #Kitten #web #dev #statefulComponents #streamingHTML #hypertext #webSockets
⋅ Les 20 langages informatiques les plus populaires en juin 2026
− https://www.blogdumoderateur.com/20-langages-informatiques-populaires-juin-2026/
I'd like an Android volume control where I could set a different ring/notification __*volume*__ for an individual contact.
So for example I could have my beloved's ring/notification volume on maximum, whilst leaving all other contacts at my usual, less intrusive, level.
Different contact ringtones is no problem, it's __*volume*__ that I am looking for.
ArcaneChat / DeltaChat channel for you:
Debugging Memes - developer&linux memes, open source and other nerdy and tech related stuff, to join click here:
#memes #fun #meme #channel #decentralization #encryption #e2ee #ArcaneChat #DeltaChat #linux #opensource #gnulinux #developers #development #dev
Open up chat to myself. Send a chat for each todo item. Use a reaction emoji to indicate status (done/cancelled/etc). Reply to the chat to add additional information and/or surface the item. All of it is shared among all devices, encrypted, and generates notifications. The one feature I'd like that I haven't figured out how to hack manually is scheduled reminders. An XMPP chat app that had scheduled messages could do it! I haven't found an XEP specifically about this but XEP-0471 might be bent to this purpose.
OK, now I think I am done, improved the mob generation greatly (and they are even animated/move!)
#webxdc #dev #web #webdev #p2p #game #language #languagelearning #learning #educationalapp #german #spanish #European #ArcaneChat #DeltaChat #messaging #gamification #duolingo #anki #e2ee #offlinefirst #security #privacy #autonomy #typescrypt
@benrob0329 it is extremely cool, for example, I am learning #German and I have created an app to practice sentences for myself, all is synchronized across devices so I can stop in the computer and pick the phone and continue the practice on the phone exactly where I left it in the PC all without any 3rd party service! 🤩🤯
#languageLearning #webdev #dev #programming #language #webapp #game #gamification
GET IN LOSER! ArcaneChat / DeltaChat channel for you:
Debugging Memes - developer&linux memes, open source and other nerdy and tech related stuff, to join click here:
#memes #fun #meme #channel #decentralization #encryption #e2ee #ArcaneChat #DeltaChat #linux #opensource #gnulinux #developers #development #dev
L’équipe Entr’ouvert s’agrandit encore : nous recrutons un·e développeur·euse Python/Django.
Consultez l'offre et candidatez avant le 7 juin : https://www.entrouvert.com/actualites/2026/embauche-developpeureuse-python-django-2026/
L’équipe Entr’ouvert s’agrandit encore : nous recrutons un·e développeur·euse Python/Django.
Consultez l'offre et candidatez avant le 7 juin : https://www.entrouvert.com/actualites/2026/embauche-developpeureuse-python-django-2026/
My take on `box-sizing: border-box` https://www.reddit.com/r/css/comments/1tblbzy/comment/oliq6z6/
TL;DR unlearn adding it to the reset, as well as setting dimensions (width/ height) explicitly.
👋 to @kevinpowell for giving me a video to link to 😀
👋 to @mia for the cool article on `body` margin to reference 😎
#CSS #code #coding #cssLayout #web #dev #webDev #webDevelopment
GitLab CFO, Brian Robins, says they are “aligned with the goals of DOGE, because the company’s software tools aim to help people do more with less. What the Department of Government Efficiency is trying to do is what GitLab does.”
You either support fascism or you don’t. It’s binary. There’s no gray area or “aligning.”
Considering GitLab? Don’t.
Use @Codeberg instead.
(Hat tip @aphyr)
⋅ Les 20 langages informatiques les plus populaires en mai 2026
− https://www.blogdumoderateur.com/20-langages-informatiques-populaires-mai-2026/
RE: https://chaos.social/@lucaslove/116554918511209795
Indie Mac App Store alternative that’s free for FOSS. Sounds good to me :)
One of the beautiful things about Sublime Merge¹ (and git/diffs) is that you can see exactly what has changed in complex expected values in tests to ensure that you’re updating the tests without overlooking regressions.
(This is from the Markdown page loader tests in Kitten², as I’m refactoring to implement the upcoming breaking change in the stateful components API³ as it affects the generated code for stateful layout components in Markdown pages.)
¹ Which I always have running, full-screen on its own monitor.
² https://kitten.small-web.org
³ Currently experimental and undocumented but that should change once this breaking change is implemented.
#git #diff #unitTests #tape #SublimeMerge #Kitten #SmallWeb #web #dev #developerExperience
I haven't clicked the link yet, but I guess I should also reannounce Robert Smith's new #IDE for #commonLisp #typeTheory #staticTyping super-macro (#coalton) #dev named mine.
https://coalton-lang.github.io/20260424-mine/
@vindarel @sanityinc @simon_brooke @jackdaniel @dougmerritt (reverse-chronological earlier toots).
La documentation technique n'est pas une corvée
https://ugodimini.substack.com/p/mental-model-3-la-documentation-est
#startups #dev #entrepreneuriat #programmation
🥳 New Kitten¹ release!
Implemented workaround:
There is a bug in the CommonMark spec that results in preformatted code with empty lines nested in an HTML node not rendering correctly.²
In Kitten, this previously threw an error (see #294³ and also #318⁴).
Kitten now works around the issue in its own parser.
Full change log: https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md
Enjoy!
💕
¹ https://kitten.small-web.org
² https://github.com/commonmark/commonmark-spec/issues/807
³ https://codeberg.org/kitten/app/issues/294
⁴ https://codeberg.org/kitten/app/issues/318
#Kitten #KittenRelease #SmallWeb #SmallTech #CommonMark #spec #bug #workaround #Markdown #web #dev #NodeJS
In what I’m telling myself is in no way feature creep, I just added experimental TypeScript support to Kitten in a dev branch.
I’m actually surprised how easy it was to do. Given I’m already using esbuild to create the Kitten bundle and already using a custom module loader, the change was basically making esbuild a dependency instead of a dev dependency, lazily transforming .ts files in the loader, and updating a few places in the code to ensure that you can use .ts as an extension in special Kitten extensions like .page.js, .post.js, etc. (so now you can have page.ts, post.ts, etc.)
Everything works the same way it does with TypeScript as it does with JavaScript – there’s no scaffolding or any additional workflow required.
For obvious reasons, I won’t be deploying this at end of day Friday but, hopefully, along with the major breaking change to the stateful component API, I plan to next week.
More details in the work-in-progress change log:
https://codeberg.org/kitten/app/src/branch/stateful-components-api-breaking-change/CHANGELOG.md#2026-04
💕
#Kitten #SmallWeb #SmallTech #NodeJS #JavaScript #TypeScript #web #dev
Oh, you just slapped a 1MB image on your web page? That’s nice.
Back in the day, folks were hiding running code and data in the graphics of their games that had to fit into 22KB.
https://revs.bbcelite.com/deep_dives/hidden_secrets_of_the_custom_screen_mode.html
J'ai 2 fichiers identiques de 600 octets précisément stockés sur la même partition NTFS.
L'un prend (soit disant) 0 octet d'espace sur le disque, l'autre 4096 octets.
Je trouve ça rigolo 😄
(je suis en train de bosser sur une fonction qui estime l'espace disque occupé par un ensemble de dossiers et de fichier sur un volume NTFS ^^)
I’ve made this point before about how inane AI hype is now, but a computer beat the best chess player in the world in 1997. No one pretended, after 1997, it wasn’t worthwhile to have humans compete in chess. In fact, the world of chess developed strict protocols around computer use and you can get banned from tournaments if you use a computer program as you play. You are certainly shamed and mocked.#AI #GenAI #GenerativeAI #AIHype #LLMs #writing #tech #dev #coding #SoftwareDevelopment #SoftwareEngneering #softwareAI and writing needs to be treated the same way. I do think people should be shamed for using AI to help them write creatively. It’s an embarrassment, and a form of cheating.
That's why they abbreviate a Community of Practice as "CoP".
#scrum #scrumteam #dev #developer #qa #scrummaster #CommunityOfPractice #jira #Meme #memes #Humor #humour
One of the most popular JavaScript packages on earth Axios has been compromised
The Axios NPM package has been compromised and the maintainer of the project has been locked out of their account. This will go down in history as one of the most successful software supply chain attacks ever
💥 https://opensourcemalware.com/blog/axios-compromised
#javascript #axios #webdev #npm #js #dev #compression #softwareattribution #web #webdev #successful #attack #plaincryptojs #malware
So I just bought @nileane’s TinyStart launcher and, yep, it’s beautiful.
Minimalist in the best possible way. I’m keeping Spotlight around for the moment but already I’m not sure why I would use it for anything.
So lovely to see indie devs showing trillion-dollar corporations how it should be done.
💕
🥳 New Kitten¹ Release
• Adds Kitten Introspection API
I’ll record a video this week demonstrating it.
In the meanwhile, check out the change log for details:
https://codeberg.org/kitten/app/src/branch/main/CHANGELOG.md#2026-03-29
Enjoy!
💕
¹ https://kitten.small-web.org
#Kitten #KittenReleases #SmallWeb #SmallTech #introspectionAPI #web #dev
Me: I really need to launch the things I’m building with Kitten¹ this year.
Also me: You know what would be sweet? If I added an introspection API to make working with the Kitten Shell (REPL)² easier.
(It is going to be sweet though. Prototyping it in the REPL now and I’ll record a little demo when I’m done and it’s released. It’s going to make examining and affecting the state of the client from the server interactively even easier.)
¹ https://kitten.small-web.org
² https://kitten.small-web.org/tutorials/kitten-s-interactive-shell-repl/
#Kitten #developerExperience #debugging #KittenShell #NodeJS #web #dev
You know how you’re in the middle of a process and you refresh a web page and it loses state?
So that sucks.
With Kitten¹ – when using the new state-maintaining/class-based and event model-based component model – it’s easy to have flowing interfaces that animate between states, etc., that don’t lose state if you refresh the page (or open another tab).
What you can’t do on the Web, however, is restore the state of any cross-origin iframes. (As you have no visibility into their contents to take a snapshot, etc.)
This is something I ran into with the embedded Stripe component I’m using in Catalyst². Specifically, it has a success state that I want to restore so the interface, which uses selective disclosure and has animated to that step in the sign up process, doesn’t jump if you refresh it or look different if you open it in another tab.
So what do you do if you’re obsessed with making things work as well as possible?
Apparently, this:
1. You go and manually save the Stripe iframe’s HTML and relevant CSS
2. You notice that it is ~371KB in size and you sigh
3. You use a combination of automated and manual methods to whittle that down to a 4.2KB HTML/CSS snapshot of the state.
4. You make that into a Kitten component³ so you can set the bits that are dynamic⁴
5. You make sure that it matches the original exactly using PixelSnap 2 guides⁵ (see screenshot; and yes, I told you I’m obsessed) :)
6. Et voila!
🤷♂️
¹ https://kitten.small-web.org
² https://catalyst.small-web.org
³ https://kitten.small-web.org/tutorials/components-and-fragments/
⁴ https://codeberg.org/project-catalyst/app/src/commit/a3cf136f3670a9e2954a35d5b3aa227969f22eaf/sign-up/SuccessfulStripeSubscription.fragment.js
⁵ https://pixelsnap.com
#Catalyst #SmallWeb #design #Stripe #iframes #stateRestoration #web #dev
🥳 New Kitten Release
• Fix: Events on `KittenComponent` hierarchies are now bubbled in reverse (from children down to parents). This provides for predictable event firing in cases where parents might emit events (e.g., a page emitting an event from its `onConnect()` handler). Your existing code should work as before with certain edge cases that might have broken before no longer breaking.
Enjoy!
💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
🥳 New Kitten Release
• `KittenComponent` (and thereby `KittenPage`) gains an `emit()` method.
Use this to bubble events from your page to all child components or from any component to all of its child components.
This is useful, for example, for setting the state of a page or a component where each child component knows how to present itself for that state.
(That, in turn, is useful if you want to be able to restore state based on URLs.)
The naming convention-based mapping of event names to event handler names is the same as for the events you receive from the client. So an event called `myEvent` will result in `onMyEvent` handlers on child components being called.
(Also update @small-web/kitten to version 7.1.0 to get language intelligence for the new method.)
Enjoy!
💕
#Kitten #KittenReleases #SmallWeb #SmallTech #web #dev #events #serverSide #eventBased #components #hypermedia #streamingHTML
🥳 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