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.
@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
Kagi started as an AI company that wanted to slurp up the internet to provide a question "answering" service not unlike what Google is proposing to replace web search with. Perhaps they've toned this rhetoric down a bit on their blog recently but there's no evidence I'm aware of that the business has changed mission. All of this is still available on Kagi's own blog---including the fact that they used to be kagi.ai---yet somehow it's controversial to point it out. If you're looking for a web search engine that isn't likely to turn into a slop extruder, Kagi is probably not going to be the one. Try @Mojeek@mastodon.social or Marginalia. This list might be helpful too.
#web #search #dev #tech #software #AI #Kagi #WebSearch #InternetSearch #InformationRetrieval
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
I love this post for several reasons, one being that it got me thinking. The Bad Tech aside, generally speaking modern software development seems hyperfocused on change at the expense of stability. git has countless features for managing changes to source code. What's the equivalent tool for managing the stability of finished software? What's the tool that tells you "Great! You're done now, congratulations!"
Surely there are pieces of software that are mature enough that we do not need to keep updating them (*) with new features. The industry seems to provide little fanfare or reward for reaching or even approaching such an end state.
#tech #dev #software #SoftwareDevelopment #coding
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/
Quand tu découvre une solution tellement évidente à la correction que tu cherche depuis des années dans un algo...
Je lisais un article de Nature sur l'IA, j'ai pensé soumettre mon prob à l'IA, et en pensant aux réponses possibles... j'ai trouvé la soluce.
Comme quoi l'IA c'est super utile quand tu utilise ton cerveau à la place ! MERCI l'IA !
Reste à expliquer, pourquoi je re code mon script, sans dire que j'avais la soluce sous le nez depuis des années... LE CONG ! 😜
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 :)
Quand tu jette un œil dans ton rep config sous Debian et que tu t’aperçois de la présence d'un répertoire 'Kilian Valkhof'
- Mais.... WTF !?
ls Kilian\ Valkhof/
Trimage.conf ...
Trimage ça peut encore être utile, ça compresse des jpegs ou des pngs, en utilisant au mieux d'autres scripts et leurs options ( optipng, pngcrush, advpng et jpegoptim)
https://trimage.org/
Mais bon... "Trimage" c'était pas mal comme nom de répertoire dans le .config !
Aller zou, dégagé !
#script #dev #images
Are we pushed by a genuine will to create 😇 or a disdain of what currently exists 👿?
#programming #dev
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
RE: https://disabled.social/@dams/116373154673036467
Le premier article de cette mini-série est en ligne !
L’IA accélérateur inévitable d’innovation en entreprise.
À travers un retour d'expérience, j'essaie d'explorer cette transformation, ses limites et les questions que cela soulève.
https://ohno.bearblog.dev/agents-ia-un-levier-majeur-inevitable/
Je lance une petite série sur mon blog sur un sujet brûlant. Bon c'est juste, une micro intro. En espérant que je trouve un rythme d'écriture.
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
🥳 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
J'ai mis deux IA en code review l'une contre l'autre — voici ce que ça donne
https://maxence.maireaux.fr/fr/blog/mon-workflow-ia-claude-code-codex/
#dev #architecture #intelligenceartificielle
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/
D'ailleurs, dans une moindre mesure, je pense que j'adore toujours faire de la magie avec des ordinateurs. Je suis fascinée par tout ce qui devient "vivant" (une application, un effet spécial dans un film, un dessin) grâce à des bidouillages.
Je crois que ça a toujours été ça ma passion, mon "intérêt spécifique" ad vitam : faire de la magie. (Putain, je m'auto-analyse en live 😆)
Bref, faites de la magie. Retrouvez cet état de "faire", non pas pour réussir, mais pour "faire", simplement. C'est tout ce que je peux vous conseiller :)
Même à 40, 50 ans. Faites de la magie.
Voilà :)
Tendresse & mochi ^^
#dev #afterEffects #StoryOfMyLife
En 2025, Anne Faubry et Chloé Corfmat ont présenté les bonnes pratiques pour concevoir accessible du cadrage au développement, en s’appuyant sur un projet réel pour le Ministère de la Culture. Leur conférence à (re)voir en ligne.
🥳 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
«Partnering with @mozilla to improve Firefox’s security
AI models can now independently identify high-severity vulnerabilities in complex software. As we recently documented, Claude found more than 500 zero-day vulnerabilities (security flaws that are unknown to the software’s maintainers) in well-tested open-source software.»
I am not an AI fan but with such a use I can imagine it well but no blind faith is useful there either.
Thanks to a work-in-progress Homebrew cask by Andi Péter (https://codeberg.org/GramEditor/gram/issues/15#issuecomment-11159294), I was just able to quickly install and play with the new Gram code editor (https://codeberg.org/GramEditor/gram#gram) – a fork of Zed with all the bullshit (AI, telemetry, etc.) removed that looks like it could be great editor to recommend both for people just learning to code (as I was, recently, to recommend for people learning Kitten¹) as well as seasoned programmers who don’t want to work in terminal.
And, as a bonus, it actually has a Helix Editor mode so if that’s your daily driver (raises hand), you can just use it like Helix (i.e., Helix Editor in a graphical shell).
If you want to try Andi’s build (only works on Mac at the moment and remember, you have to trust Andi):
brew tap petrosz007/gram-tap https://codeberg.org/Petrosz007/homebrew-gram-tap.git
brew install --cask gram
PS. You can follow the author of Gram, @krig, on the fediverse :)
¹ https://kitten.small-web.org
#gram #editor #gramEditor #programming #coding #dev #zed #zedEditor #helix #helixEditor #brew #macOS #noAI #privacyRespecting #tool
Hello le fedivers, je relance ma quête : il y a des gens ici qui développent sur Android ? Et qui bossent sur node.js / angular ?
J'ai un client qui cherche un prestataire sérieux pour reprendre la maintenance / corrections d'une appli métier sur Android et le stockage / exploitation de ses données dans une base de données avec interface web.
Merci !
#android #nodejs #angular #dev #help
Et hop, version XMPP Web 0.12.0 sortie avec de nombreux petites améliorations orientées utilisateurs et un nouveau contributeur qui semble motivé pour les appels audio / video 🎉 #dev #xmpp
https://github.com/nioc/xmpp-web/releases/tag/0.12.0
🥳 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
Google a annoncé que, à partir de septembre 2026, il ne sera plus possible de développer des applications pour la plateforme Android sans s’être enregistré :
Paiement de frais à Google
Acceptation des conditions d’utilisation de Google
Fourniture d’une pièce d’identité officielle
Téléchargement de la preuve de la clé de signature privée du développeur
Liste de tous les identifiants d’application actuels et futurs
Les fichiers qui commencent souvent par un . (le plus connu étant .gitignore, je suppose) permettant d'ajuster pas mal de choses pour Git.
Git’s Magic Files | Andrew Nesbitt
https://nesbitt.io/2026/02/05/git-magic-files.html
Making WebAssembly a first-class language on the Web
WebAssembly has come a long way since its first release in 2017. The first version of WebAssembly was already a great fit for low-level languages like C and C++, and immediately enabled many new kinds of applications to efficiently target the web.
— by @mozilla
🧑💻 https://hacks.mozilla.org/2026/02/making-webassembly-a-first-class-language-on-the-web/
#webdev #webassembly #web #dev #it #website #development #developer #js #javascript #firstclass #rust #rustlang #c #cplusplus
🥳 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
📢 Oyez, oyez : XMPP web 0.11.0 est sorti cette nuit. Changements : ajout du support des réactions 😉 et upgrade technique.
Liens vers l'archive et l'image docker disponibles ici : https://github.com/nioc/xmpp-web/releases/tag/0.11.0
Preneur de vos retours #dev #xmpp
🥳 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.