
Vitest
@vitest@webtoo.ls
Vitest 3.2 is out!
- New Annotations API
- Scoped Fixtures
- Custom Browser Locators API
- Test Signal
- Better V8 Coverage Result
And many more features!
@vitest@webtoo.ls
Vitest 3.2 is out!
- New Annotations API
- Scoped Fixtures
- Custom Browser Locators API
- Test Signal
- Better V8 Coverage Result
And many more features!
@toxi@mastodon.thi.ng
#ReleaseTuesday — New version of https://thi.ng/tsne with ~15-20% better performance[1] due to avoiding repeated internal allocations and skipping gradient updates where unnecessary...
[1] Benchmarked with multiple datasets of ~750 items, each with 192 dimensions (now ~165ms @ MBA M1, 2020)...
#ThingUmbrella #TSNE #DataViz #Visualization #ML #Cluster #TypeScript #JavaScript
@vitest@webtoo.ls
Vitest 3.2 is out!
- New Annotations API
- Scoped Fixtures
- Custom Browser Locators API
- Test Signal
- Better V8 Coverage Result
And many more features!
@vitest@webtoo.ls
Vitest 3.2 is out!
- New Annotations API
- Scoped Fixtures
- Custom Browser Locators API
- Test Signal
- Better V8 Coverage Result
And many more features!
@vitest@webtoo.ls
Vitest 3.2 is out!
- New Annotations API
- Scoped Fixtures
- Custom Browser Locators API
- Test Signal
- Better V8 Coverage Result
And many more features!
@toxi@mastodon.thi.ng
#ReleaseMonday — New version (v0.27.0) of https://thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:
This version features an overhaul of the platform provided PRNG (pseudo-random number generator) handling and makes it easier to create multiple PRNGs for artworks which require/desire them...
Related section in the README:
https://github.com/thi-ng/genart-api/blob/main/README.md#determinism--prng-provision
Also, just as a reminder, the project has:
- no external dependencies
- adapters for 3 art platforms (EditArt, fxhash, Layer)
- 6 example projects
- testing/dev sandbox with two parameter editors
- WebAssembly bindings & demo (currently for #Zig only)
Happy coding! :)
#GenArtAPI #GenerativeArt #AlgorithmicArt #ProceduralArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #WebAssembly #WASM #Ziglang
@toxi@mastodon.thi.ng
#ReleaseMonday — New version (v0.27.0) of https://thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:
This version features an overhaul of the platform provided PRNG (pseudo-random number generator) handling and makes it easier to create multiple PRNGs for artworks which require/desire them...
Related section in the README:
https://github.com/thi-ng/genart-api/blob/main/README.md#determinism--prng-provision
Also, just as a reminder, the project has:
- no external dependencies
- adapters for 3 art platforms (EditArt, fxhash, Layer)
- 6 example projects
- testing/dev sandbox with two parameter editors
- WebAssembly bindings & demo (currently for #Zig only)
Happy coding! :)
#GenArtAPI #GenerativeArt #AlgorithmicArt #ProceduralArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #WebAssembly #WASM #Ziglang
@forest_watch_impress@rss-mstdn.studiofreesia.com
「Go」言語へ移植したネイティブ「TypeScript」コンパイラー&ツールがプレビュー開始/「Visual Studio Code」用の拡張機能もテスト提供
https://forest.watch.impress.co.jp/docs/news/2016543.html
#forest_watch_impress #Go #TypeScript #プログラミング #Windows #Mac #Linux
@forest_watch_impress@rss-mstdn.studiofreesia.com
「Go」言語へ移植したネイティブ「TypeScript」コンパイラー&ツールがプレビュー開始/「Visual Studio Code」用の拡張機能もテスト提供
https://forest.watch.impress.co.jp/docs/news/2016543.html
#forest_watch_impress #Go #TypeScript #プログラミング #Windows #Mac #Linux
@Alex0007@mastodon.social
@Alex0007@mastodon.social
@mackuba@martianbase.net
I gotta say, I'm kinda enjoying writing JS in this "JSDocScript" mode 🤔 The code is almost* unchanged except the comments - I really wanted to avoid complicating it or adding more instructions just for the types - but I get most of the advantage of TS in much more confident and faster refactoring.
@toxi@mastodon.thi.ng
Accidental atmospheric Rayleigh scattering (https://en.wikipedia.org/wiki/Rayleigh_scattering) — feels like sunrise from ~50secs...
#Umbra #Art #GenerativeArt #Gradients #Color #Rec2020 #Video #Animation #ThingUmbrella #ShaderAST #TypeScript
@toxi@mastodon.thi.ng
(Revisiting an unoptimized old code sketch, semi-fluid screen recording only... Love the contrast between soft gradients and hard edges and the unexpected emergence of shapes [and their disappearance]...)
(Made with https://thi.ng/shader-ast)
#Art #GenerativeArt #Gradients #Color #Rec2020 #Video #Animation #ThingUmbrella #ShaderAST #TypeScript
@hongminhee@hollo.social
Anyone here have experience using @vitest with @deno_land, or setting up a unit test suite that works on #Deno, #Node.js, and #Bun?
@hongminhee@hollo.social
Anyone here have experience using @vitest with @deno_land, or setting up a unit test suite that works on #Deno, #Node.js, and #Bun?
@hongminhee@hollo.social
Anyone here have experience using @vitest with @deno_land, or setting up a unit test suite that works on #Deno, #Node.js, and #Bun?
@hongminhee@hollo.social
Anyone here have experience using @vitest with @deno_land, or setting up a unit test suite that works on #Deno, #Node.js, and #Bun?
@hongminhee@hollo.social
Anyone here have experience using @vitest with @deno_land, or setting up a unit test suite that works on #Deno, #Node.js, and #Bun?
@ycombinator@rss-mstdn.studiofreesia.com
@ycombinator@rss-mstdn.studiofreesia.com
@arendjr@mstdn.social
Over the weekend, I wrote an overview of Biome's type architecture, including our motivation and a discussion of the constraints that led to this architecture: https://arendjr.nl/blog/2025/05/biome-type-architecture/
Reply to this post to comment!
#OpenSource #WebDev #Tooling #JavaScript #TypeScript #Rust #RustLang
@manlycoffee@techhub.social
Zustand for React feels awful. I don't even understand how that library ever took off.
It felt like someone wanted to be cute about JavaScript, only to end up building something that only works for them.
#JavaScript #TypeScript #React #ReactJS #Frontend #FrontendDevelopment #WebFrontendDevelopment #WebDev
@arendjr@mstdn.social
Over the weekend, I wrote an overview of Biome's type architecture, including our motivation and a discussion of the constraints that led to this architecture: https://arendjr.nl/blog/2025/05/biome-type-architecture/
Reply to this post to comment!
#OpenSource #WebDev #Tooling #JavaScript #TypeScript #Rust #RustLang
@arendjr@mstdn.social
Over the weekend, I wrote an overview of Biome's type architecture, including our motivation and a discussion of the constraints that led to this architecture: https://arendjr.nl/blog/2025/05/biome-type-architecture/
Reply to this post to comment!
#OpenSource #WebDev #Tooling #JavaScript #TypeScript #Rust #RustLang
@toxi@mastodon.thi.ng
Love how the cyan group/species starts circling/framing the rest from ~30 seconds in... Also this variation is using some of the new color themes released earlier today (see one my previous posts).
#Actiniaria #GenerativeArt #AlgorithmicArt #Art #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL
@toxi@mastodon.thi.ng
More #Actiniaria progress: Added a soft global constraint to create more of a (macro)organism feel w/ a sense of belonging and fuzzy boundary. Also slowly updating the behavior/relationship matrix between the six different types now, to create varying temporary alliances...
(Note: Sadly Firefox doesn't respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)
#GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL
@toxi@mastodon.thi.ng
#ReleaseSaturday — Just added 35 new color palettes (255 in total now) to https://thi.ng/color-palettes. All of these are based on images and dominant colors have been extracted via this tool below and then partially hand edited. The SVG swatches were generated via a custom tool (included in the project repo).
The package provides accessors for obtaining themes as CSS hex colors, RGB or LCH tuples. Themes can also be programmatically selected/filtered by a number of composable criteria (examples in the readme)...
https://demo.thi.ng/umbrella/dominant-colors/
#ThingUmbrella #Color #OpenSource #TypeScript #JavaScript #SVG
@LunaFreyja@hachyderm.io
Is Node.js the future of backend development, or just a beautifully wrapped grenade?
Lately, I see more and more backend systems, yes, even monoliths, built entirely in Node.js, sometimes with server-side rendering layered on top. These are not toy projects. These are services touching sensitive PII data, sometimes in regulated industries.
When I first used Node.js years ago, I remember:
• Security concepts were… let’s say aspirational.
• Licensing hell due to questionable npm dependencies.
• Tests were flaky, with mocking turning into dark rituals.
• Behavior of libraries changed weekly like socks, but more dangerous.
• Internet required to run a “local” build. How comforting.
Even with TypeScript, it all melts back into JavaScript at runtime, a language so flexible it can hang itself.
Sure, SSR and monoliths can simplify architecture. But they also widen the attack surface, especially when:
• The backend is non-compiled.
• Every endpoint is a potential open door.
• The system needs Node + a fleet of dependencies + a container + prayer just to run.
Compare that to a compiled, stateless binary that:
• Runs in a scratch container.
• Requires zero runtime dependencies.
• Has encryption at rest, in transit, and ideally per-user.
• Can be observed, scaled, audited, stateless and destroyed with precision.
I’ve shipped frontends that are static, CDN-delivered, secure by design, and light enough to fit on a floppy disk. By running them with Node, I’m loading gigabytes of unknown tooling to render “Hello, user”.
So I wonder:
Is this the future? Or am I just… old?
Are we replacing mature, scalable architectures with serverless spaghetti and 12-factor mayhem because “it works on Vercel”?
Tell me how you build secure, observable, compliant systems in Node.js.
Genuinely curious.
Mildly terrified and maybe old.
#NodeJS #BackendSecurity #SecureCoding #PII #Compliance #SoftwareArchitecture #ServerSideRendering #TypeScript #Java #Kotlin #Golang #Erlang #Ruby #Scalability #Observability #DevSecOps #LegacyVsModern #SecureByDesign #CompiledLanguages #CloudArchitecture #StatelessDesign #SecurityTheatre #TechSatire #LinkedInTechRant
@manlycoffee@techhub.social
Frontend coding guidelines at my company https://gist.github.com/shovon/93960e4240fabd184150f441a4d3533e
#TypeScript #Frontend #React #Prettier #ESLint #CodingStandard #Programming #Coding #SoftwareDevelopment
@toxi@mastodon.thi.ng
Found some time last night to implement multi-behaviors and I'm very excited about where this is going... 😍 The video shows 6 different types interacting with (and avoiding) each other. Next step is to vary the behavior matrix over time, causing changing alliances and breakup behaviors...
See #Actiniaria for more context...
(Note: Sadly Firefox doesn't respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)
#GenerativeArt #AlgorithmicArt #NoAI #ThingUmbrella #Boids #Color #Video #Animation #TypeScript #WebGL
@zeab@fosstodon.org
I think I've fully adopted to writing scripts in #typescript with #deno. 😅 It can be so immensely convenient.
You can bundle hack something fairly quickly. With dependencies pinned. And most of all, still have some level of security.
Can't say the same of all my other language scripts. 🫠
@zeab@fosstodon.org
I think I've fully adopted to writing scripts in #typescript with #deno. 😅 It can be so immensely convenient.
You can bundle hack something fairly quickly. With dependencies pinned. And most of all, still have some level of security.
Can't say the same of all my other language scripts. 🫠
@zeab@fosstodon.org
I think I've fully adopted to writing scripts in #typescript with #deno. 😅 It can be so immensely convenient.
You can bundle hack something fairly quickly. With dependencies pinned. And most of all, still have some level of security.
Can't say the same of all my other language scripts. 🫠
@JohnsDaily@mastodon.social
AIMindUpdate News!
🚀⚡️ Great news for Deno developers! 2.3 update brings faster compiles, local NPM support, and much more. Boost your workflow! #Deno #JavaScript #TypeScript
Click here↓↓↓
https://aimindupdate.com/2025/05/05/deno-2-3-compile-enhancements-local-npm-support-for-developers
@JohnsDaily@mastodon.social
AIMindUpdate News!
🚀⚡️ Great news for Deno developers! 2.3 update brings faster compiles, local NPM support, and much more. Boost your workflow! #Deno #JavaScript #TypeScript
Click here↓↓↓
https://aimindupdate.com/2025/05/05/deno-2-3-compile-enhancements-local-npm-support-for-developers
@deno_land@fosstodon.org
"Deno has allowed us to transition services faster without sacrificing reliability," says Plaid architecture lead Zander Hill.
Here's how they did it 👇
https://deno.com/blog/how-plaid-migrated-critical-services-with-deno
@toxi@mastodon.thi.ng
#ReleaseFriday — Just pushed a new version of https://thi.ng/tensors, now with added support for "broadcasting" in most operations taking more than one input tensor. This means the shapes of the tensors only need to be compatible, not identical. Supporting operators attempt to adjust each tensor's shape & stride configurations to be compatible (details in the readme & API docs).
This new version also includes more tensor ops (almost 50 now), including singular value matrix decomposition (SVD), plus improved type safety & result type interference for all operations. The readme contains more code examples...
Happy coding! :)
@lavxnews@mastodon.cloud
Prisma ORM Transitions from Rust to TypeScript: A Game-Changer for Developers
In a bold move, Prisma is migrating its ORM core from Rust to TypeScript, aiming to enhance customization and ease of use. This transition not only simplifies contributions but also streamlines query ...
@lavxnews@mastodon.cloud
Prisma ORM Transitions from Rust to TypeScript: A Game-Changer for Developers
In a bold move, Prisma is migrating its ORM core from Rust to TypeScript, aiming to enhance customization and ease of use. This transition not only simplifies contributions but also streamlines query ...
@toxi@mastodon.thi.ng
#ReleaseWednesday 🚀 — I wonder how many other FLOSS devs are sitting on code for ~8 years prior to first release... In one of these cases (many others readily available in my stash 🙃), triggered by recent major updates to the thi.ng/vectors library, I've refactored (almost 100% rewritten) and applied the same approach to the new/old package:
This package provides 1D/2D/3D/4D tensors, supporting different storage implementations (currently still all CPU side only) and an extensible set of polymorphic tensor operations (currently ~45 math ops, incl. matrix-matrix/matrix-vector products, reductions, argmin/max, activation functions etc.). The tensor classes themselves also provide several zero-copy slicing, re-ordering, clipping, extraction functions, most of them type-safe.
The original (private) version was heavily reliant on dynamic code generation, which has now been replaced with higher-order functions to provide various dimension-optimized versions of all operations.
This package is NOT specifically aimed at machine learning, even though it could probably used for some tasks in that realm (likely with extra hand holding). There are many other use cases for this kind of data structure...
Also new in other packages in this release cycle (incl. some code examples):
- https://docs.thi.ng/umbrella/arrays/functions/permutation.html
- https://docs.thi.ng/umbrella/bidir-index/functions/decodeObjectIterator.html
- https://docs.thi.ng/umbrella/transducers/functions/binned.html
@emilis@social.linux.pizza
I am #LookingForAJob
Web developer with 20+ years experience.
#JavaScript / #TypeScript 15 years, #React 10 years.
Love #Linux and #functional programming, dabble in maker stuff.
Would be happiest to work on #FreeSoftware, #OpenSource or with an NGO.
#Vilnius, #Lithuania, Europe. Hybrid or remote.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@deno_land@fosstodon.org
You can now add JSR packages with @yarnpkg and @pnpmjs
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@deno_land@fosstodon.org
You can now add JSR packages with @yarnpkg and @pnpmjs
@nborboen@social.epfl.ch
What to learn more about the #fediverse and #ActivityPub? This tutorial (https://fedify.dev/tutorial/microblog) from @fedify is a really good starter. It explains how to implement a really simple #federated server and see how communication exchange are done with AP.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@toxi@mastodon.thi.ng
Added a new convenience transducer for clipping and binning values, e.g. as preparation step for histogram generation whilst working in the REPL. New release forthcoming. A small code example attached (actually taken from the doc string of the new `binned()` transducer).
#ThingUmbrella #Transducers #FunctionalProgramming #ASCIIArt #DataViz #TypeScript #JavaScript
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@deno_land@fosstodon.org
How to automatically associate console logs by request with @opentelemetry and Hyperdx
@deno_land@fosstodon.org
How to automatically associate console logs by request with @opentelemetry and Hyperdx
@deno_land@fosstodon.org
How to automatically associate console logs by request with @opentelemetry and Hyperdx
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@webdev_discussions@mastodon.social
Error handling in typescript
https://meowbark.dev/Better-error-handling
Discussions: https://discu.eu/q/https://meowbark.dev/Better-error-handling
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@toxi@mastodon.thi.ng
Similar to my #LinearMemory piece from last year (check the hashtag for references), these current #Actiniaria explorations make me fully appreciate all the research, efforts and supporting hardware behind the DCI-P3 & Rec.2020 color spaces. The intensity (and subtlety) of some colors & combinations are just stunning (to me), and I don't mean this in any ableist way (just enjoying whilst I still can!)...
Also still amazed that something like this runs at a smooth 60fps @ 2160x2160 UHD resolution on a mobile device with a just Snapdragon 2 chipset... As part of my advisory role @ day job, over the past few months I've been tasked with optimizing artworks for almost a dozen generative/algorithmic artists, often achieving 2-4x framerate improvements... Very much feeling a longer blog post re: code craft vs code art coming up, hoping to connect them more...
"To understand a program you must become both the machine and the program." — Alan Perlis
(Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please download or use Chrome or Safari for viewing...)
#ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@botkit@hollo.social
We're pleased to announce the release of BotKit 0.2.0! For those new to our project, #BotKit is a #TypeScript framework for creating standalone #ActivityPub bots that can interact with Mastodon, Misskey, and other #fediverse platforms without the constraints of these existing platforms.
This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.
In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.
One of the most requested features has been #custom_emoji support. Now your bots can truly express their personality with unique visuals that make their messages stand out.
// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
botkit: {
file: `${import.meta.dirname}/images/botkit.png`,
type: "image/png"
},
fedify: {
url: "https://fedify.dev/logo.png",
type: "image/png"
}
});
// Use these custom emojis in your messages
await session.publish(
text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);
With this new API, you can:
Bot.addCustomEmojis()
customEmoji()
functiontext
tagged template with Fedify Emoji
objectsCommunication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:
// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);
// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);
// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
await session.publish(
text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
{ visibility: "direct" }
);
};
This feature allows your bot to:
Message.react()
Bot.onReact
and Bot.onUnreact
handlersDiscussions often involve referencing what others have said. Our new #quote support enables more cohesive conversation threads:
// Quote another message in your bot's post
await session.publish(
text`Responding to this interesting point...`,
{ quoteTarget: originalMessage }
);
// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
await session.publish(
text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
{ visibility: "direct" }
);
};
With quote support, your bot can:
quoteTarget
optionMessage.quoteTarget
Bot.onQuote
event handlerBecause communication is visual too, we've improved how your bot presents itself:
We've also improved how activities propagate through the fediverse:
These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.
Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:
deno add jsr:@fedify/botkit@0.2.0
Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:
{
"imports": {
"@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
},
"unstable": ["temporal"]
}
With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.
BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.
For complete docs and more examples, visit our docs site.
Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!
BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.
@toxi@mastodon.thi.ng
Been working on various shader & behavior update and options for #Actiniaria... it's all starting to come together! 🤩
(Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please use Chrome or Safari for viewing...)
#ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL
@deno_land@fosstodon.org
Deno v2.2.10 is out 🎉
⭐ Faster deno install with npm
⭐ improved node:test
⭐ stream and querystring fixes
⭐ virtio VSOCK on Linux
and more!
@toxi@mastodon.thi.ng · Reply to Karsten Schmidt's post
Btw. Here're some more collected links to earlier experiments/stages of development (from the last 1.5 years) — If anything, this all is yet another example of my personal slow-cook art-making/revisiting approach... 😅
SDF obstacles (static & animated):
https://mastodon.thi.ng/@toxi/111698367393819716
https://mastodon.thi.ng/@toxi/111698918722774094
Path attraction/following:
https://mastodon.thi.ng/@toxi/111704122960594951
https://mastodon.thi.ng/@toxi/111704168442616187
Boids vs. Voronoi:
https://mastodon.thi.ng/@toxi/111720368699392895
Visualizing motion/direction vectors:
https://mastodon.thi.ng/@toxi/111688835639715011
#HowToThing mini tutorial:
https://mastodon.thi.ng/@toxi/111308439597090930
#ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #TypeScript
@toxi@mastodon.thi.ng
Work in progress...
Finally finding some time to continue working on my earlier https://thi.ng/boids experiments, now also using WebGL instancing and floating point render textures for super-smooth blending/trails to create aesthetics reminiscent of sea anemones...
(Update: I've decided on the beautiful-sounding and fitting #Actiniaria as project title...)
(Note: Sadly Firefox does not seem to respect the Rec2020 color profile in the video, please use Chrome or Safari for viewing...)
#ThingUmbrella #GenerativeArt #AlgorithmicArt #NoAI #Boids #Color #Video #Animation #TypeScript #WebGL
@frontenddogma@mas.to
Node Just Added TypeScript Support. What Does That Mean for Deno?, by @tinyclouds.org (@deno_land):
@aral@mastodon.ar.al
Coming tomorrow to Kitten… Kitten icons!
Kitten will have built-in support for the Phosphor icons set with full authoring-time language intelligence where you can search for icons via category and tag (in addition to the canonical alphabetical categorisation).
Thought this was going to take me a few hours but it took a few days thanks to running into issues with size limits, type inference from JavaScript types in modules, etc., with the TypeScript language server but I believe I’ve finally cracked it :)
💕
#Kitten #SmallWeb #icons #PhosphorIcons #staticTypes #taxonomy #web #dev #TypeScript #languageServer
@deno_land@fosstodon.org
a model context protocol server that securely runs untrusted Python 🐍 code in a sandbox with Deno 🦕
https://github.com/pydantic/pydantic-ai/tree/main/mcp-run-python
@deno_land@fosstodon.org
Deno v2.2.10 is out 🎉
⭐ Faster deno install with npm
⭐ improved node:test
⭐ stream and querystring fixes
⭐ virtio VSOCK on Linux
and more!
@deno_land@fosstodon.org
Deno v2.2.10 is out 🎉
⭐ Faster deno install with npm
⭐ improved node:test
⭐ stream and querystring fixes
⭐ virtio VSOCK on Linux
and more!
@deno_land@fosstodon.org
Deno v2.2.10 is out 🎉
⭐ Faster deno install with npm
⭐ improved node:test
⭐ stream and querystring fixes
⭐ virtio VSOCK on Linux
and more!
@frontenddogma@mas.to
Node Just Added TypeScript Support. What Does That Mean for Deno?, by @tinyclouds.org (@deno_land):
@toxi@mastodon.thi.ng
#ReleaseWednesday — I just released a new version (v8.0.0) of https://thi.ng/vectors, an almost complete rewrite of the package with all of its ~900 vector operations. I've updated the Readme with a section of _potentially_ minor breaking changes, however I expect this to be a seamless upgrade for the vast majority of users...
I've recently written more about the reasons and implications of this update and I'll refer you to those posts instead of repeating them once more (see links below).
Just the top-level changes:
- Replaced dynamic code generation with higher-order templating to be usable with strict content security policies (when deployed online)
- New structure allows for vast majority of functions to have doc strings (and they do now)
- More consistent/less confusing naming for some operations
- Potentially improved tree-shaking and smaller project bundle sizes
Related to this update I've also refactored and fixed some bugs in other packages (e.g. color, geom, matrices). As a result both the color & matrix packages are now also free from dynamic codegen and therefore won't cause any problems with strict CSPs
Should you run into any issues regarding this update, please get in touch (also grateful for any other experience/impact reports... 🙏)
More info in these recent posts/threads:
- https://mastodon.thi.ng/@toxi/114296442006935718
- https://mastodon.thi.ng/@toxi/114319651778770391
- https://mastodon.thi.ng/@toxi/114336012068839250
Happy coding!
@toxi@mastodon.thi.ng
Just added some new diagrams to describe the internals of the https://thi.ng/block-fs block storage & filesystem (incl. some examples) and also added/updated CLI tooling docs...
#ThingUmbrella #BlockStorage #FileSystem #TypeScript #JavaScript #Documentation #Diagram
@toxi@mastodon.thi.ng · Reply to Karsten Schmidt's post
To put the "large" package size a little more into perspective: I don't know of any other feature-comparable JS vector library which provides all of the following:
- Generic n-dimensional float, int, uint, boolean vectors
- Size optimized versions for 2D/3D/4D (all types)
- Multiple-dispatch wrappers (auto-delegating to available optimized versions)
- Memory-mapped vectors and optimized versions for various memory layouts (e.g. SOA/AOS)
- Optimized versions of many vector-scalar ops
- Optimized compound operations (like multiply-add etc.)
- Vector randomizations (several approaches)
- 99% of GLSL vector operations & conversions
- Vector versions of most of JS `Math` ops
- Vector interpolations (linear, bilinear, cubic, quadratic...)
- 10 different distance functions & metrics
- Swizzling & vector coercion/extension
- Dozens of additional graphics, statistics & ML-related operations
#ThingUmbrella #TypeScript #JavaScript #CodeGeneration #Vectors #OpenSource
@toxi@mastodon.thi.ng
Just a quick #ThingUmbrella update to say that I've already replaced the https://thi.ng/vectors package on the develop branch and after LOTS of deep experimentation have decided NOT to split up the package. There will be a few (minor) breaking changes, mainly because of enforcing more consistent naming and more granularity in some source files (therefore possibly changed imports, though only if you use direct ones for individual functions...). All in all, I've managed to keep the impact on users to a bare minimum (likely unnoticeable for most), even though it's pretty much a complete rewrite of the entire package (with all its ~900 functions)... This package is now almost 10 years old and I'm very happy how this refactor turned out!
In terms of file size impact: The FULL minified pkg bundle is now 56.4KB vs previously 48.5KB, however the code density has improved and the brotli-compressed pkg size is only 15.1KB (only 1KB larger than before), which I found absolutely incredible! 🎉 I also have to state once more that this package (and most others in #ThingUmbrella) are _designed for tree shaking_ and bundling. Hardly any project would ever use the full set of functions provided here all at once, most will only use a small/tiny subset...
Also — more importantly — many of the 185 example projects in the repo are now showing between 2-25% smaller final bundle sizes. Some also have become slightly larger, but so far I found the most by only ~2%...
Related to this change: I've also updated the https://thi.ng/color & https://thi.ng/matrices packages to be free from dynamic code generation now! The only packages still using `new Function(...)` are the following, but for those it's unavoidable and dynamic code generation is a core feature:
- https://thi.ng/pixel (custom pixel format definition/compilation)
- https://thi.ng/pixel-convolve (custom image convolution kernel compilation)
- https://thi.ng/shader-ast-js (Shader AST to JavaScript compilation)
I will do more testing over the coming days, then release new version(s) ASAP...
#TypeScript #JavaScript #CodeGeneration #Vectors #OpenSource
@toxi@mastodon.thi.ng
In recent years every spring seems to turn into a period of _massive_ refactoring & restructuring in #ThingUmbrella — maybe it's a form of spring cleaning, even though the reasons[1] are not seasonal... Currently spending my nights reworking the https://thi.ng/vectors package (likely one of the most comprehensive vector packages available for TS/JS) and trying out different splits/structures, testing their impact on package sizes and usability in existing downstream packages. Currently over 3000 source files with uncommitted changes... aaaarrrgghh! 🤯
Most functions (vector operations) in this package exist in multiple versions (many code generated, but now in need to be updated): Generic n-dimensional, loop-free, optimized 2D/3D/4D versions and strided versions for manipulating vectors views of larger nD data buffers (supporting all kinds of data layouts, incl. AOS, SOA, hybrid...)
[1] https://mastodon.thi.ng/@toxi/114296442006935718
#ThingUmbrella #Vectors #TypeScript #JavaScript #Refactoring #OpenSource
@aral@mastodon.ar.al
Coming tomorrow to Kitten… Kitten icons!
Kitten will have built-in support for the Phosphor icons set with full authoring-time language intelligence where you can search for icons via category and tag (in addition to the canonical alphabetical categorisation).
Thought this was going to take me a few hours but it took a few days thanks to running into issues with size limits, type inference from JavaScript types in modules, etc., with the TypeScript language server but I believe I’ve finally cracked it :)
💕
#Kitten #SmallWeb #icons #PhosphorIcons #staticTypes #taxonomy #web #dev #TypeScript #languageServer
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@toxi@mastodon.thi.ng
Thanks to @made I recently learned that dynamic code generation doesn't play nice with certain Content Security Policies (CSP). This has a major impact on a few core packages in #ThingUmbrella, like the https://thi.ng/vectors package which contains ~900 vector functions, most of them code generated and optimized for different vector sizes/dimensions (incl. n-dimensional versions). This package (and some others using a similar approach) are key dependencies for dozens of other geometry/visualization related packages... However, I found code generation the only way to practically manage & maintain the sheer amount of functionality provided.
Because of this (CSP impact), I've been working on a new code generator, which converts the dynamically generated code into statically generated source code files. This will make the overall initial package size bigger, but this shouldn't be a major problem in practice, since there're also very positive effects, including:
- The new format allows for doc strings for _all_ generated vector ops (with the dynamic approach there was no way to properly attach those in TypeScript)
- The new file structure (single function per source file) massively helps with dead code elimination when using a bundler, resulting in smaller final file/bundle sizes. When NOT using a bundler, similar filesize savings can be had by using direct imports (to individual functions) rather than full package imports
- None of the unused versions need to be code generated at runtime anymore, so also improving startup time
The new codegen is already covering around more than a third of the 900 ops. If you want to keep an eye on progress & discussion, follow this issue:
@jani@fosstodon.org
Snooker is one of my favourite hobbies. I play (badly) and I watch it on TV.
And I've combined the snooker hobby with my programming hobby by writing a simple snooker scoreboard web app. TypeScript and Svelte 5 FTW.
There are many others, but this one's mine, it's free as in beer and free as in freedom. And it respects your privacy.
I call it Groovescore, with a hat-tip to my snooker club Groovetown Jack.
@frontenddogma@mas.to
Node Just Added TypeScript Support. What Does That Mean for Deno?, by @tinyclouds.org (@deno_land):
@jani@fosstodon.org
Snooker is one of my favourite hobbies. I play (badly) and I watch it on TV.
And I've combined the snooker hobby with my programming hobby by writing a simple snooker scoreboard web app. TypeScript and Svelte 5 FTW.
There are many others, but this one's mine, it's free as in beer and free as in freedom. And it respects your privacy.
I call it Groovescore, with a hat-tip to my snooker club Groovetown Jack.
@deno_land@fosstodon.org
Data analysis in Jupyter notebooks with... TypeScript?! 😱
✅ using `fetch` and other web standards
✅ fast dataframes with nodejs-polars
✅ easy charts with @observablehq
✅ rich interactive UIs with JavaScript
Learn more in this detailed walkthrough 👇
https://deno.com/blog/exploring-art-with-typescript-and-jupyter
@toxi@mastodon.thi.ng
#ReleaseWednesday Just pushed a new version of https://thi.ng/block-fs, now with additional multi-command CLI tooling to convert & bundle a local file system tree into a single block-based binary blob (e.g. for bundling assets, or distributing a virtual filesystem as part of a web app, or for snapshot testing, or as bridge for WASM interop etc.)
Also new, the main API now includes a `.readAsObjectURL()` method to wrap files as URLs to binary blobs with associated MIME types, thereby making it trivial to use the virtual filesystem for sourcing stored images and other assets for direct use in the browser...
(Ps. For more context see other recent announcement: https://mastodon.thi.ng/@toxi/114264980961483146)
#ThingUmbrella #BlockStorage #FileSystem #BlockFS #VirtualFS #CLI #TypeScript #JavaScript #OpenSource
@biomejs@fosstodon.org
Biome partners with Vercel to improve type inference
We are proud to announce that Biome is kicking off our much-discussed type inference efforts in a partnership with Vercel!
Read all about it here: https://biomejs.dev/blog/vercel-partners-biome-type-inference
@deno_land@fosstodon.org
Data analysis in Jupyter notebooks with... TypeScript?! 😱
✅ using `fetch` and other web standards
✅ fast dataframes with nodejs-polars
✅ easy charts with @observablehq
✅ rich interactive UIs with JavaScript
Learn more in this detailed walkthrough 👇
https://deno.com/blog/exploring-art-with-typescript-and-jupyter
@zkat@toot.cat
my final project as part of my tenure at Microsoft, aside from that NPM patch (lol), is this lil' guy: https://github.com/microsoft/libsyncrpc
Just a small, but v v fast IPC lib that lets you make synchronous calls to a child process from node, while the child can execute callbacks from you before you return.
I optimized the everloving shit out of this thing, and it ended up being fast enough that the #TypeScript team will be able to use it for the thing that will let you use the Go typescript compiler from JS: you'll just be calling out directly to a Go child.
Literally hundreds of thousands of ops/s :)
@zkat@toot.cat
my final project as part of my tenure at Microsoft, aside from that NPM patch (lol), is this lil' guy: https://github.com/microsoft/libsyncrpc
Just a small, but v v fast IPC lib that lets you make synchronous calls to a child process from node, while the child can execute callbacks from you before you return.
I optimized the everloving shit out of this thing, and it ended up being fast enough that the #TypeScript team will be able to use it for the thing that will let you use the Go typescript compiler from JS: you'll just be calling out directly to a Go child.
Literally hundreds of thousands of ops/s :)
@davidbisset@phpc.social
AffiNE is a privacy-focused, local-first, #opensource, and ready-to-use alternative for #Notion & Miro.
@davidbisset@phpc.social
AffiNE is a privacy-focused, local-first, #opensource, and ready-to-use alternative for #Notion & Miro.
@SocketSecurity@fosstodon.org
Biome has released v2.0 beta with support for custom plugins, domain-specific linting, and multi-file analysis. The update brings type-aware rules to the Rust-powered #JavaScript toolchain. Next up: @biomejs plans to add HTML support and embedded languages in 2025. https://socket.dev/blog/biome-announces-v2-0-beta #TypeScript
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@vixalientoots@mas.to
Audio Player (f.k.a. Decibels) is out!
Thanks to everyone who contributed, and it's so nice to see the first TypeScript app in GNOME Core! Nice times ahead!
@deno_land@fosstodon.org
Just landed a new manual page on Deno's FFI
@toxi@mastodon.thi.ng
Just made my day: "I somehow made it to March 2025 before being aware of https://thi.ng/ - an incredible mountain of code created primarily by a prolific genius, full of ideas that are like catnip to me."
😂
https://kylecordes.com/2025/typescript-html-generation-on-the-server
(Also, to clarify, even though thi.ng/hiccup and a small selection of other thi.ng libs started out porting concepts widely used in Clojure (the language I spent 7 years with previously), in many cases the scope, features, usability & potential use cases have been far extended far beyond their "originals" and it sometimes saddens me that these are often just plainly ignored or mis-labeled/described...)
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@emilis@fosstodon.org
I am #LookingForAJob
Web developer with 20+ years experience.
#JavaScript / #TypeScript 15 years, #React 10 years.
Love #Linux and #functional programming, dabble in maker stuff.
Would be happiest to work on #FreeSoftware, #OpenSource or with an NGO.
#Vilnius, #Lithuania, Europe. Hybrid or remote.
CV: https://emilis.codeberg.page/cv2025.html
Please boost 🙇
@jonn@social.doma.dev · Reply to Michael U's post
@jet what happened to #stopify?
I roll out custom implementations based on #stripe left and right.
It's quite easy with #rust, #specta and #typescript.
Here is a fresh generic ecommerce demo where I was learning #vike for frontend – https://github.com/cognivore/thegoodshop
Feel free to fork and run with it ♥️
@vixalientoots@mas.to
Audio Player (f.k.a. Decibels) is out!
Thanks to everyone who contributed, and it's so nice to see the first TypeScript app in GNOME Core! Nice times ahead!
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@deno_land@fosstodon.org
Just landed a new manual page on Deno's FFI
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@deno_land@fosstodon.org
Just landed a new manual page on Deno's FFI
@deno_land@fosstodon.org
Just landed a new manual page on Deno's FFI
@emilis@fosstodon.org
I am #LookingForAJob
Web developer with 20+ years experience.
#JavaScript / #TypeScript 15 years, #React 10 years.
Love #Linux and #functional programming, dabble in maker stuff.
Would be happiest to work on #FreeSoftware, #OpenSource or with an NGO.
#Vilnius, #Lithuania, Europe. Hybrid or remote.
CV: https://emilis.codeberg.page/cv2025.html
Please boost 🙇
@jutty@bsd.cafe
> HarmonyOS initially began as a project based on the Android Open Source Project and the Linux kernel, allowing compatibility with existing Android apps. In 2023, Huawei introduced HarmonyOS NEXT, a new iteration built on a custom microkernel and proprietary technology frameworks.
> Unlike its predecessor, HarmonyOS NEXT does not support Android or Windows applications. Instead, it uses a native application format based on JavaScript, TypeScript, and an optimized compiler designed to accelerate JavaScript execution. In 2024, Huawei confirmed its plans to replace Windows with HarmonyOS for its upcoming PC models.
> In addition to its HarmonyOS-based PC, Huawei is developing a Linux-based system, according to MyDrivers. The upcoming MateBook D16 Linux Edition will feature the same hardware as the standard MateBook D16, with an unnamed Linux distribution replacing Windows.
https://www.techspot.com/news/107169-life-without-windows-huawei-preps-ai-pc-counter.html
@deno_land@fosstodon.org
Want your own custom AI thats trained on confidential material?
Here's how you can build a custom RAG AI agent 👇
@toxi@mastodon.thi.ng
To avoid a massive OpenCV dependency for a current project I'm involved in, I ended up porting my own homemade, naive optical flow code from 2008 and just released it as a new package. Originally this was written for a gestural UI system for Nokia retail stores (prior to the Microsoft takeover), the package readme contains another short video showing the flow field being utilized to rotate a 3D cube:
I've also created a small new example project for testing with either webcam or videos:
https://demo.thi.ng/umbrella/optical-flow/
#ThingUmbrella #OpticalFlow #ImageAnalysis #ComputerVision #TypeScript #JavaScript
@revathskumar@fosstodon.org
#nextjs devs,
Since nextjs redirect can't be used inside `try/catch` block, How do you handle the redirections in server actions?
Especially when you don't want to handle `| undefined` in the return type of function in #TypeScript.
As of now I am doing redirection on client.
Is there a better way?
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@deno_land@fosstodon.org
🚀 Deno v2.2.4 is released:
- Built-in OpenTelemetry support for span context propagators (tracecontext, baggage)
- Built-in OTel tracing for node:http.request
- LSP now starts the TypeScript server lazily
other improvements in the release notes:
https://github.com/denoland/deno/releases/tag/v2.2.4
@GerryT@mastodon.social
Share of programming languages used by #GTK3 / #GTK4 applications (2025-03-16):
28% #Python
21% #Vala
20% #Rust
17% #C
06% #C++ #Cplusplus
06% #gjs #Javascript
04% Other: #Csharp #Go #Lua #Haskell #Swift #Typescript #Crystal #Swift #D #Perl
63% use GTK4 (90% of them use #libadwaita), while still 37% use GTK3
Method: Source [1] lists 543 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
@GerryT@mastodon.social
Share of programming languages used by #GTK3 / #GTK4 applications (2025-03-16):
28% #Python
21% #Vala
20% #Rust
17% #C
06% #C++ #Cplusplus
06% #gjs #Javascript
04% Other: #Csharp #Go #Lua #Haskell #Swift #Typescript #Crystal #Swift #D #Perl
63% use GTK4 (90% of them use #libadwaita), while still 37% use GTK3
Method: Source [1] lists 543 awesome #gtk (3/4) #opensource applications and their #programminglanguage
[1] https://github.com/valpackett/awesome-gtk
@blog@gts.urmaul.com
New blog post: Deno is Fine
I have migrated one #TypeScript application to #Deno and I think it is fine. Probably, it doesn’t make much sense to migrate existing applications, but give it a shot when making one from scratch.
More detailed impressions inside.
@deno_land@fosstodon.org
Here's how Deno's built-in OTel support can immediately add logs and traces to any Node.js backend 👇
@crnkovic@lor.sh
Made my first #deno steps today with #typescript, without a doubt it's the beggining of a great new friendship. Lots of JS5 to Typescript porting ahead. The first thing I'll port is the sqlexecutor family, particularly the #postgresql executor lib
https://github.com/allex-libs/postgresqlexecutor
@crnkovic@lor.sh
Made my first #deno steps today with #typescript, without a doubt it's the beggining of a great new friendship. Lots of JS5 to Typescript porting ahead. The first thing I'll port is the sqlexecutor family, particularly the #postgresql executor lib
https://github.com/allex-libs/postgresqlexecutor
@crnkovic@lor.sh
Made my first #deno steps today with #typescript, without a doubt it's the beggining of a great new friendship. Lots of JS5 to Typescript porting ahead. The first thing I'll port is the sqlexecutor family, particularly the #postgresql executor lib
https://github.com/allex-libs/postgresqlexecutor
@ekuber@hachyderm.io
I found myself agreeing with everything in this post from Steve:
https://steveklabnik.com/writing/choosing-languages/
I don't think that the brigade of "Rewrite it in Rust" people is nearly as common or big as all too often claimed, but for if you ever appreciated what either Steve or I ever had to say, and have an impulse to brigade a project on GutHub or social media (even accidentally! If you arrive early you might not realize 2000 people are coming right after you), please don't. It's pointless. It's draining. It can be abusive. And it's counter productive.
@ekuber@hachyderm.io
I found myself agreeing with everything in this post from Steve:
https://steveklabnik.com/writing/choosing-languages/
I don't think that the brigade of "Rewrite it in Rust" people is nearly as common or big as all too often claimed, but for if you ever appreciated what either Steve or I ever had to say, and have an impulse to brigade a project on GutHub or social media (even accidentally! If you arrive early you might not realize 2000 people are coming right after you), please don't. It's pointless. It's draining. It can be abusive. And it's counter productive.
@blog@gts.urmaul.com
New blog post: Deno is Fine
I have migrated one #TypeScript application to #Deno and I think it is fine. Probably, it doesn’t make much sense to migrate existing applications, but give it a shot when making one from scratch.
More detailed impressions inside.
@deno_land@fosstodon.org
Here's how Deno's built-in OTel support can immediately add logs and traces to any Node.js backend 👇
@noim@noc.social
@deno_land Will the Go port of typescript influence Deno in any way? Positive or negative? #typescript #deno
@erick@gts.erick.sh
I think it’s fun to see all the support and rant reactions about Microsoft rewriting #TypeScript tooling in #Go instead of C# or Rust.
Notice that I said "fun", not "interesting". It’s fun because this is just the latest version of "vim vs. emacs" or "tabs vs. spaces". Everyone has opinions, everyone has their favorite programming language, but at the end of the day, 0% (or a very close number) of the people ranting about it are actually working on the project. It’s always easy to criticize someone else’s work when you have nothing at stake.
@erick@gts.erick.sh
I think it’s fun to see all the support and rant reactions about Microsoft rewriting #TypeScript tooling in #Go instead of C# or Rust.
Notice that I said "fun", not "interesting". It’s fun because this is just the latest version of "vim vs. emacs" or "tabs vs. spaces". Everyone has opinions, everyone has their favorite programming language, but at the end of the day, 0% (or a very close number) of the people ranting about it are actually working on the project. It’s always easy to criticize someone else’s work when you have nothing at stake.
@erick@gts.erick.sh
I think it’s fun to see all the support and rant reactions about Microsoft rewriting #TypeScript tooling in #Go instead of C# or Rust.
Notice that I said "fun", not "interesting". It’s fun because this is just the latest version of "vim vs. emacs" or "tabs vs. spaces". Everyone has opinions, everyone has their favorite programming language, but at the end of the day, 0% (or a very close number) of the people ranting about it are actually working on the project. It’s always easy to criticize someone else’s work when you have nothing at stake.
@kidsan@hachyderm.io
I think it is cool that #typescript is being rewritten in a faster language and in my opinion this is the kind of niche where #golang excels. Their reasoning boiling down to Go providing 10x performance for low effort rewrite vs >10x for much more effort in <whatever-language> is what I'd call a pragmatic choice. Not everything needs to be hype-driven development, and I say that as a #rust wannabe.
@josemigt@masto.es
Después de la noticia de que el compilador de TypeScript va a ser reescrito en Go, veo mucha gente de la comunidad de #dotnet un poco enfadada porque el propio creador de CSharp no haya apostado por el lenguaje que él mismo creó.
Desde luego es curioso. Entiendo que parece que C# queda relegado a lenguaje de aplicaciones empresariales sencillas y si hace falta hacer algo que tenga más ingeniería, hay que ir a las opciones de los mayores.
Me sorprende también que Microsoft no haga
"dogfooding".
Pero quién mejor que el creador de C# para conocer las limitaciones del lenguaje.
@josemigt@masto.es
Después de la noticia de que el compilador de TypeScript va a ser reescrito en Go, veo mucha gente de la comunidad de #dotnet un poco enfadada porque el propio creador de CSharp no haya apostado por el lenguaje que él mismo creó.
Desde luego es curioso. Entiendo que parece que C# queda relegado a lenguaje de aplicaciones empresariales sencillas y si hace falta hacer algo que tenga más ingeniería, hay que ir a las opciones de los mayores.
Me sorprende también que Microsoft no haga
"dogfooding".
Pero quién mejor que el creador de C# para conocer las limitaciones del lenguaje.
@cascading@misskey.io
TypeScript 编译器宣布用 Go 语言重写。
https://devblogs.microsoft.com/typescript/typescript-native-port/
#TypeScript #Golang
Telegram 原文
@cascading@misskey.io
TypeScript 编译器宣布用 Go 语言重写。
https://devblogs.microsoft.com/typescript/typescript-native-port/
#TypeScript #Golang
Telegram 原文
@obrhoff@mastodon.social
TypeScript is being rewritten in Go.
This was not on my bingo card. With all the hype around Rust, important things like Docker, Ollama, Kubernetes, and now TypeScript are implemented in Go.
#golang #typescript
https://devblogs.microsoft.com/typescript/typescript-native-port/
@obrhoff@mastodon.social · Reply to obrhoff's post
Its a very interesting choice. Here is why they chose Golang instead of Rust.
#golang #typescript
@obrhoff@mastodon.social
TypeScript is being rewritten in Go.
This was not on my bingo card. With all the hype around Rust, important things like Docker, Ollama, Kubernetes, and now TypeScript are implemented in Go.
#golang #typescript
https://devblogs.microsoft.com/typescript/typescript-native-port/
@toxi@mastodon.thi.ng
Now compatible with the latest Zig v0.14.0: Just updated https://thi.ng/wasm-api, an extensible and modular API bridge & toolchain for hybrid Zig/TypeScript apps, all of the related Zig example projects, as well as the (still somewhere between post-hatching & pre-fledging) other https://thi.ng/zig libraries...
@toxi@mastodon.thi.ng
#ReleaseMonday — One of the recent (already very useful!) new package additions to #ThingUmbrella is:
Leaky buckets are commonly used in communication networks for rate limiting, traffic shaping and bandwidth control, but are equally useful in other domains requiring similar constraints.
A Leaky Bucket is a managed counter with an enforced maximum value (i.e. bucket capacity). The counter is incremented for each a new event to check if it can/should be processed. If the bucket capacity has already been reached, the bucket will report an overflow, which we can then handle accordingly (e.g. by dropping or queuing events). The bucket also has a configurable time interval at which the counter is decreasing (aka the "leaking" behavior) until it reaches zero again (i.e. until the bucket is empty). Altogether, this setup can be utilized to ensure both an average rate, whilst also supporting temporary bursting in a controlled fashion...
Related, I've also updated/simplified the rate limiter interceptor in https://thi.ng/server to utilize this new package...
#ThingUmbrella #DataStructure #RateLimiting #OpenSource #TypeScript #JavaScript
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@mojoaxel@social.tchncs.de · Reply to Deno's post
@deno_land Are there plans to also support #typescript in the browser at some point?
@deno_land@fosstodon.org
Big shoutout to Node.js for adding TypeScript 🎉
But how is it different than Deno's "first class" TypeScript support?
Here's an overview of what you can (and can't) do with TypeScript in Node and Deno.
@garretble@mastodon.social
I feel stressed today at work.
Getting pushback from my desire to use #Typescript in our #React project. Because it "takes too long" to write typings for components.
So in six months when we return to this code, it’ll be super easy to dig through it all if nothing is typed?
How is it easier to find errors in the application when you can fat finger any variable or object member and get away with it (until you run the app and it fails)?
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@Yohei_Zuho@mstdn.y-zu.org
【輪読会やってみます!】
#FediLUG 輪読会📖第零弾として #fedify の開発者である
Hong Minhee (洪 民憙) @hongminhee さんの著書『自分だけのフェディバースのマイクロブログを作ろう!』の輪読会を行います!
この機会に #Fedify を使用して皆さんで #ActivityPub や #TypeScript などの知識を強化しませんか?
本はGitHubから無料で読むことができます:
https://github.com/dahlia/fedify-microblog-tutorial-ja
参加:
https://fedilug.connpass.com/event/348240/
@hongminhee@hollo.social
Just released #LogTape 0.9.0! 🎉
This version brings two major improvements to our zero-dependency #logging library for #TypeScript:
New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync()
, disposeSync()
, and resetSync()
. Perfect for simpler setups where you don't need async
operations!
Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file
package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.
Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.
Check out the full release notes for migration details:
@hongminhee@hackers.pub
We're excited to announce the release of LogTape 0.9.0! This version brings important improvements to make LogTape more flexible across different JavaScript environments while simplifying configuration for common use cases.
Added synchronous versions of the configuration functions:
configureSync()
: Configure LogTape synchronouslydisposeSync()
: Dispose LogTape resources synchronouslyresetSync()
: Reset LogTape configuration synchronouslyThese functions offer a simpler API for scenarios where async operations aren't needed, allowing for more straightforward code without awaiting promises. Note that these functions cannot use sinks or filters that require asynchronous disposal (such as stream sinks), but they work perfectly for most common logging configurations.
import { configureSync, getConsoleSink } from "@logtape/logtape";
configureSync({
sinks: {
console: getConsoleSink(),
},
loggers: [
{
category: "my-app",
lowestLevel: "info",
sinks: ["console"],
},
],
});
ConsoleSinkOptions.levelMap
option for customizing how log levels are mapped to console methodsTo improve runtime compatibility, file-related sinks have been moved to the @logtape/file
package:
getFileSink()
function to @logtape/file
packageFileSinkOptions
interface to @logtape/file
packagegetRotatingFileSink()
function to @logtape/file
packageRotatingFileSinkOptions
interface to @logtape/file
packageThis architectural change ensures the core @logtape/logtape
package is fully compatible with all JavaScript runtimes, including browsers and edge functions, without introducing file system dependencies. You'll now enjoy better compatibility with bundlers like Webpack, Rollup, and Vite that previously had issues with the file system imports.
If you were using file sinks, update your imports:
// Before
import { getFileSink, getRotatingFileSink } from "@logtape/logtape";
// After
import { getFileSink, getRotatingFileSink } from "@logtape/file";
Don't forget to install the new package:
# For npm, pnpm, Yarn, Bun
npm add @logtape/file
# For Deno
deno add jsr:@logtape/file
This release represents our ongoing commitment to making LogTape the most flexible and developer-friendly logging solution for JavaScript and TypeScript applications. We're continuing to improve performance and extend compatibility across the JavaScript ecosystem.
Special thanks to Murph Murphy for their valuable contribution to this release.
As always, we welcome your feedback and contributions! Feel free to open issues or pull requests on our GitHub repository.
Happy logging!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
#LogTape 0.9.0をリリースしました!🎉
今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:
新しい同期設定API:configureSync()
、disposeSync()
、resetSync()
を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です!
ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ@logtape/file
に移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。
さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。
移行の詳細については、リリースノートをご覧ください。
@hongminhee@hollo.social
Just released #LogTape 0.9.0! 🎉
This version brings two major improvements to our zero-dependency #logging library for #TypeScript:
New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync()
, disposeSync()
, and resetSync()
. Perfect for simpler setups where you don't need async
operations!
Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file
package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.
Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.
Check out the full release notes for migration details:
@hongminhee@hackers.pub
We're excited to announce the release of LogTape 0.9.0! This version brings important improvements to make LogTape more flexible across different JavaScript environments while simplifying configuration for common use cases.
Added synchronous versions of the configuration functions:
configureSync()
: Configure LogTape synchronouslydisposeSync()
: Dispose LogTape resources synchronouslyresetSync()
: Reset LogTape configuration synchronouslyThese functions offer a simpler API for scenarios where async operations aren't needed, allowing for more straightforward code without awaiting promises. Note that these functions cannot use sinks or filters that require asynchronous disposal (such as stream sinks), but they work perfectly for most common logging configurations.
import { configureSync, getConsoleSink } from "@logtape/logtape";
configureSync({
sinks: {
console: getConsoleSink(),
},
loggers: [
{
category: "my-app",
lowestLevel: "info",
sinks: ["console"],
},
],
});
ConsoleSinkOptions.levelMap
option for customizing how log levels are mapped to console methodsTo improve runtime compatibility, file-related sinks have been moved to the @logtape/file
package:
getFileSink()
function to @logtape/file
packageFileSinkOptions
interface to @logtape/file
packagegetRotatingFileSink()
function to @logtape/file
packageRotatingFileSinkOptions
interface to @logtape/file
packageThis architectural change ensures the core @logtape/logtape
package is fully compatible with all JavaScript runtimes, including browsers and edge functions, without introducing file system dependencies. You'll now enjoy better compatibility with bundlers like Webpack, Rollup, and Vite that previously had issues with the file system imports.
If you were using file sinks, update your imports:
// Before
import { getFileSink, getRotatingFileSink } from "@logtape/logtape";
// After
import { getFileSink, getRotatingFileSink } from "@logtape/file";
Don't forget to install the new package:
# For npm, pnpm, Yarn, Bun
npm add @logtape/file
# For Deno
deno add jsr:@logtape/file
This release represents our ongoing commitment to making LogTape the most flexible and developer-friendly logging solution for JavaScript and TypeScript applications. We're continuing to improve performance and extend compatibility across the JavaScript ecosystem.
Special thanks to Murph Murphy for their valuable contribution to this release.
As always, we welcome your feedback and contributions! Feel free to open issues or pull requests on our GitHub repository.
Happy logging!
@Eliot_L@social.coop
OMFG https://www.youtube.com/watch?v=0mCsluv5FXA
It's not a port of #Doom to #TypeScript. It's a port of doom to the TypeScript type system 🤯
The program is 177 TB!!! 177 TERAbytes!!! It took 12 days to render a single frame, consuming over 100 GB of memory! This is mad science.
@hongminhee@hollo.social
Just released #LogTape 0.9.0! 🎉
This version brings two major improvements to our zero-dependency #logging library for #TypeScript:
New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync()
, disposeSync()
, and resetSync()
. Perfect for simpler setups where you don't need async
operations!
Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file
package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.
Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.
Check out the full release notes for migration details:
@hongminhee@hackers.pub
We're excited to announce the release of LogTape 0.9.0! This version brings important improvements to make LogTape more flexible across different JavaScript environments while simplifying configuration for common use cases.
Added synchronous versions of the configuration functions:
configureSync()
: Configure LogTape synchronouslydisposeSync()
: Dispose LogTape resources synchronouslyresetSync()
: Reset LogTape configuration synchronouslyThese functions offer a simpler API for scenarios where async operations aren't needed, allowing for more straightforward code without awaiting promises. Note that these functions cannot use sinks or filters that require asynchronous disposal (such as stream sinks), but they work perfectly for most common logging configurations.
import { configureSync, getConsoleSink } from "@logtape/logtape";
configureSync({
sinks: {
console: getConsoleSink(),
},
loggers: [
{
category: "my-app",
lowestLevel: "info",
sinks: ["console"],
},
],
});
ConsoleSinkOptions.levelMap
option for customizing how log levels are mapped to console methodsTo improve runtime compatibility, file-related sinks have been moved to the @logtape/file
package:
getFileSink()
function to @logtape/file
packageFileSinkOptions
interface to @logtape/file
packagegetRotatingFileSink()
function to @logtape/file
packageRotatingFileSinkOptions
interface to @logtape/file
packageThis architectural change ensures the core @logtape/logtape
package is fully compatible with all JavaScript runtimes, including browsers and edge functions, without introducing file system dependencies. You'll now enjoy better compatibility with bundlers like Webpack, Rollup, and Vite that previously had issues with the file system imports.
If you were using file sinks, update your imports:
// Before
import { getFileSink, getRotatingFileSink } from "@logtape/logtape";
// After
import { getFileSink, getRotatingFileSink } from "@logtape/file";
Don't forget to install the new package:
# For npm, pnpm, Yarn, Bun
npm add @logtape/file
# For Deno
deno add jsr:@logtape/file
This release represents our ongoing commitment to making LogTape the most flexible and developer-friendly logging solution for JavaScript and TypeScript applications. We're continuing to improve performance and extend compatibility across the JavaScript ecosystem.
Special thanks to Murph Murphy for their valuable contribution to this release.
As always, we welcome your feedback and contributions! Feel free to open issues or pull requests on our GitHub repository.
Happy logging!
@hongminhee@hollo.social · Reply to 洪 民憙 (Hong Minhee)'s post
#LogTape 0.9.0をリリースしました!🎉
今回のバージョンでは、TypeScript向けの依存関係ゼロのロギングライブラリに二つの大きな改善を加えました:
新しい同期設定API:configureSync()
、disposeSync()
、resetSync()
を使って同期的にLogTapeを設定できるようになりました。非同期操作が不要なシンプルな環境に最適です!
ランタイム互換性の向上:ファイル関連のコンポーネントをすべて別パッケージ@logtape/file
に移動しました。これにより、コアパッケージはファイルシステム依存なしで、ブラウザ、エッジ関数、各種バンドラーなど、あらゆるJavaScript環境でシームレスに動作します。
さらに、コンソールシンクにレベルマッピングオプションを追加し、ログの表示方法をより細かく制御できるようになりました。
移行の詳細については、リリースノートをご覧ください。
@hongminhee@hollo.social
Just released #LogTape 0.9.0! 🎉
This version brings two major improvements to our zero-dependency #logging library for #TypeScript:
New Synchronous Configuration API: You can now configure LogTape synchronously with configureSync()
, disposeSync()
, and resetSync()
. Perfect for simpler setups where you don't need async
operations!
Better Runtime Compatibility: We've moved all file-related components to a separate @logtape/file
package. This means the core package now works flawlessly across all JavaScript environments—browsers, edge functions, and various bundlers without any file system dependencies.
Plus, we've added level mapping options for console sinks, giving you more control over how your logs appear.
Check out the full release notes for migration details:
@hongminhee@hackers.pub
We're excited to announce the release of LogTape 0.9.0! This version brings important improvements to make LogTape more flexible across different JavaScript environments while simplifying configuration for common use cases.
Added synchronous versions of the configuration functions:
configureSync()
: Configure LogTape synchronouslydisposeSync()
: Dispose LogTape resources synchronouslyresetSync()
: Reset LogTape configuration synchronouslyThese functions offer a simpler API for scenarios where async operations aren't needed, allowing for more straightforward code without awaiting promises. Note that these functions cannot use sinks or filters that require asynchronous disposal (such as stream sinks), but they work perfectly for most common logging configurations.
import { configureSync, getConsoleSink } from "@logtape/logtape";
configureSync({
sinks: {
console: getConsoleSink(),
},
loggers: [
{
category: "my-app",
lowestLevel: "info",
sinks: ["console"],
},
],
});
ConsoleSinkOptions.levelMap
option for customizing how log levels are mapped to console methodsTo improve runtime compatibility, file-related sinks have been moved to the @logtape/file
package:
getFileSink()
function to @logtape/file
packageFileSinkOptions
interface to @logtape/file
packagegetRotatingFileSink()
function to @logtape/file
packageRotatingFileSinkOptions
interface to @logtape/file
packageThis architectural change ensures the core @logtape/logtape
package is fully compatible with all JavaScript runtimes, including browsers and edge functions, without introducing file system dependencies. You'll now enjoy better compatibility with bundlers like Webpack, Rollup, and Vite that previously had issues with the file system imports.
If you were using file sinks, update your imports:
// Before
import { getFileSink, getRotatingFileSink } from "@logtape/logtape";
// After
import { getFileSink, getRotatingFileSink } from "@logtape/file";
Don't forget to install the new package:
# For npm, pnpm, Yarn, Bun
npm add @logtape/file
# For Deno
deno add jsr:@logtape/file
This release represents our ongoing commitment to making LogTape the most flexible and developer-friendly logging solution for JavaScript and TypeScript applications. We're continuing to improve performance and extend compatibility across the JavaScript ecosystem.
Special thanks to Murph Murphy for their valuable contribution to this release.
As always, we welcome your feedback and contributions! Feel free to open issues or pull requests on our GitHub repository.
Happy logging!
@SocketSecurity@fosstodon.org
🎮 INCREDIBLE #TypeScript achievement: Michigan TypeScript founder Dimitri Mitropoulos (@MiTypeScript) has gotten Doom running purely in TypeScript's type system! 177 TB of types processed over 12 days just for the first frame. 🤯
@deno_land@fosstodon.org
Is there a lint rule that you've always felt was missing? 🤔
With Deno 2.2's new lint plugin system, you can write and publish your own!
For the next week, if you publish a lint rule, you'll get a free prize. 👇
@deno_land@fosstodon.org
Want to play around with LLMs in 5 minutes?
Check out this quickstart with Deno Jupyter🦕, Ollama 🦙, and Deepseek 🐳
https://deno.com/blog/the-dino-llama-and-whale
#deno #nodejs #javascript #typescript #webdev #deepseek #llm #ollama
@deno_land@fosstodon.org
Is there a lint rule that you've always felt was missing? 🤔
With Deno 2.2's new lint plugin system, you can write and publish your own!
For the next week, if you publish a lint rule, you'll get a free prize. 👇
@deno_land@fosstodon.org
Want to play around with LLMs in 5 minutes?
Check out this quickstart with Deno Jupyter🦕, Ollama 🦙, and Deepseek 🐳
https://deno.com/blog/the-dino-llama-and-whale
#deno #nodejs #javascript #typescript #webdev #deepseek #llm #ollama
@SocketSecurity@fosstodon.org
🎮 INCREDIBLE #TypeScript achievement: Michigan TypeScript founder Dimitri Mitropoulos (@MiTypeScript) has gotten Doom running purely in TypeScript's type system! 177 TB of types processed over 12 days just for the first frame. 🤯
@deno_land@fosstodon.org
Want to play around with LLMs in 5 minutes?
Check out this quickstart with Deno Jupyter🦕, Ollama 🦙, and Deepseek 🐳
https://deno.com/blog/the-dino-llama-and-whale
#deno #nodejs #javascript #typescript #webdev #deepseek #llm #ollama
@dampuzakura@fedibird.com
【TypeScript】 inferに詳しくなろう #TypeScript - Qiita
https://qiita.com/ehika/items/8f41d4a3c8f9df4af9c3
@noim@noc.social · Reply to noim's post
@MichiganTypeScript Btw, I think the next step should be: Run node and tsc inside of #TypeScript Types to compile another TypeScript program. This should be easy, right?
@noim@noc.social
This is insane and useless. But also very very cool 🥶 https://youtu.be/0mCsluv5FXA?si=3MgxFfzZRKN0b1u6 Props to @MichiganTypeScript
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@deno_land@fosstodon.org
Is there a lint rule that you've always felt was missing? 🤔
With Deno 2.2's new lint plugin system, you can write and publish your own!
For the next week, if you publish a lint rule, you'll get a free prize. 👇
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@deno_land@fosstodon.org
Is there a lint rule that you've always felt was missing? 🤔
With Deno 2.2's new lint plugin system, you can write and publish your own!
For the next week, if you publish a lint rule, you'll get a free prize. 👇
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
#Fedify 자매 프로젝트들을 소개해 드리고자 합니다. #ActivityPub 애플리케이션 개발을 더 쉽게 만들어주는 관련 도구들입니다:
Fedify(@fedify)는 ActivityPub와 다른 #연합우주(#fediverse) 표준을 기반으로 연합 서버 애플리케이션을 구축하기 위한 #TypeScript 라이브러리입니다. Activity Vocabulary를 위한 타입 안전한 객체, WebFinger 클라이언트·서버, HTTP Signatures 등를 제공하여 반복적인 코드를 줄이고 애플리케이션 로직에 집중할 수 있게 해줍니다.
Hollo(@hollo)는 Fedify로 구동되는 1인 사용자용 마이크로블로깅 서버입니다. 1인 사용자를 위해 설계되었지만, ActivityPub를 통해 완전히 연합되어 연합우주 전체의 사용자들과 상호작용할 수 있습니다. Hollo는 Mastodon 호환 API를 구현하여 자체 웹 인터페이스 없이도 대부분의 Mastodon 클라이언트와 호환됩니다.
Hollo는 또한 정식 출시 전에 최신 Fedify 기능을 테스트하는 실험장으로도 활용되고 있습니다.
BotKit(@botkit)은 저희의 가장 새로운 구성원으로, ActivityPub 봇을 만들기 위해 특별히 설계된 프레임워크입니다. 전통적인 Mastodon 봇과 달리, BotKit은 플랫폼별 제한(글자 수 제한 등)에 구애받지 않는 독립적인 ActivityPub 서버를 만듭니다.
BotKit의 API는 의도적으로 단순하게 설계되어 단일 TypeScript 파일로 완전한 봇을 만들 수 있습니다!
세 프로젝트 모두 @fedify-dev GitHub 조직에서 오픈 소스로 공개되어 있습니다. 각기 다른 목적을 가지고 있지만, ActivityPub 개발을 더 접근하기 쉽게 만들고 연합우주 생태계를 확장한다는 공통된 목표를 공유합니다.
이러한 프로젝트를 사용해보거나 개발에 기여하는 데 관심이 있으시다면, 다음을 확인해보세요:
@fedify@hollo.social
We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible:
Fedify (@fedify) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides type-safe objects for Activity Vocabulary, WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic.
Hollo (@hollo) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it compatible with most Mastodon clients without needing its own web interface.
Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released.
BotKit (@botkit) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts).
BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file!
All three projects are open source and hosted under the @fedify-dev GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem.
If you're interested in trying any of these projects or contributing to their development, check out:
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@rauschma@fosstodon.org
#TypeScript experiment (much improved new version): Simple type-safe API to work with `node:sqlite`. Uses a template tag function.
https://github.com/rauschma/simple-sql
@rauschma@fosstodon.org
#TypeScript experiment (much improved new version): Simple type-safe API to work with `node:sqlite`. Uses a template tag function.
https://github.com/rauschma/simple-sql
@deno_land@fosstodon.org
Deno 🤝 Tanstack
✅ simpler state management
✅ easier data fetching
✅ less boilerplate
@deno_land@fosstodon.org
Deno 🤝 Tanstack
✅ simpler state management
✅ easier data fetching
✅ less boilerplate
@mapache@hachyderm.io
Very likely today I will start the gen-AI related project for SOMOS.tech. I'll be building from scratch using TypeScript/JavaScript. And when I say from scratch, I mean from ZERO—creating the repo and setting up my VSCode and extensions. Just a fair warning, I'm not a Javascript expert, so expect some learning pains, frustration, and maybe a few cursed words along the way. #GenAI #SOMOStech #TypeScript #JavaScript
@mapache@hachyderm.io
Very likely today I will start the gen-AI related project for SOMOS.tech. I'll be building from scratch using TypeScript/JavaScript. And when I say from scratch, I mean from ZERO—creating the repo and setting up my VSCode and extensions. Just a fair warning, I'm not a Javascript expert, so expect some learning pains, frustration, and maybe a few cursed words along the way. #GenAI #SOMOStech #TypeScript #JavaScript
@deno_land@fosstodon.org
Deno 2.2 is released!
OTEL, node:sqlite, linter plugins, and much more 👇
@mapache@hachyderm.io
I'm going to build building an AI-powered app from scratch, focusing on javascript/typescript/azure and possibly dotnet for SOMOS.tech. I've got about a month to get it done, so it's going to be a wild ride!
I'm going to stream the process live and build in public.
However, due to my peculiar hours, the streaming might come with little to no notice.
#AI #JavaScript #dotnet #streaming #nonprofit #azure #typescript
@deno_land@fosstodon.org
Heard of Deno but haven't had the time to try it out?
Join Jo Frank at TheJam.dev
where she'll give an introduction to the runtime and its built in tooling to make your developer experience delightful.
Tickets are free, so what are you waiting for?
@rauschma@fosstodon.org
Array type notation: `T[]` vs. `Array<T>` in TypeScript
https://2ality.com/2025/02/array-type-notation.html
@deno_land@fosstodon.org
Over the past few months, we've made several improvements to our documentation:
🗂️ better organized examples
📸 video tutorials
💻 more documentation in API reference
and much more —
@deno_land@fosstodon.org
The next version of Deno will have a super fast JS/TS plugin API for the linter 🎉
Watch @lcasdev write a lint rule to ban string literals in <60 seconds.
This, plus many other goodies, to land next week with Deno 2.2.
@deno_land@fosstodon.org
Are you still using npm transpile services like esm.sh and unpkg.com?
❌ dependency deduplication
❌ install hooks and native add-ons
❌ loading data files
Here's why we recommend importing npm packages natively via npm specifiers 👇
https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong
@hongminhee@hollo.social
Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.
We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.
You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.
Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.
Check out https://logtape.org/ if you're interested in learning more.
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@hongminhee@hollo.social
Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.
We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.
You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.
Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.
Check out https://logtape.org/ if you're interested in learning more.
@hongminhee@hollo.social
Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.
We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.
You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.
Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.
Check out https://logtape.org/ if you're interested in learning more.
@hongminhee@hollo.social
Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.
We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.
You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.
Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.
Check out https://logtape.org/ if you're interested in learning more.
@hongminhee@hollo.social
Haven't talked about LogTape in a while—it's a #logging library I made for #JavaScript and #TypeScript. You know how logging can be a pain point in JavaScript/TypeScript development? Well, I tried to address some common frustrations.
We've all been there with dependency hell, right? #LogTape has absolutely no external dependencies. Install it without worrying about bloating your node_modules.
You can organize your logs in a tree structure. Want to save only database-related logs to a file? Easy to do. Child categories can inherit settings from their parents too, which keeps things clean and manageable.
Writing a library and want to include logs without stepping on your users' toes? LogTape lets you add logging to your library while giving end users complete control over how those logs are handled.
Plain text logs not cutting it? LogTape supports structured logging. Makes log analysis way easier down the road.
Works smoothly in Node.js, Deno, Bun, browsers, and even edge functions. No special configuration needed.
Check out https://logtape.org/ if you're interested in learning more.
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
FedifyはActivityPubプロトコルの実装を簡単にするTypeScriptフレームワークです。連合プロトコルの複雑な実装に困っていませんか?Fedifyがお手伝いします!
MITライセンスで自由に利用可能なオープンソースプロジェクトです!
#Fedify #フェディバース #fediverse #fedidev #TypeScript #ActivityPub
@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post
Fedify는 #ActivityPub 프로토콜 구현을 도와주는 #TypeScript 프레임워크입니다. 복잡한 연합 프로토콜을 쉽게 구현하고 싶으신가요? Fedify가 도와드립니다!
오픈소스 #MIT 라이선스로 누구나 자유롭게 사용할 수 있습니다!
@fedify@hollo.social
Fedify is a #TypeScript framework that simplifies #ActivityPub implementation. Want to build a federated server without the complexity? Fedify has got you covered!
Available under the #MIT license—free and open source!
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@noim@noc.social · Reply to noim's post
I mean, https://github.com/d-kimuson/ts-type-expand exists, but … #typescript
@noim@noc.social
I hope someday we can expand types in the language server #typescript
@deno_land@fosstodon.org
Are you still using npm transpile services like esm.sh and unpkg.com?
❌ dependency deduplication
❌ install hooks and native add-ons
❌ loading data files
Here's why we recommend importing npm packages natively via npm specifiers 👇
https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong
@toxi@mastodon.thi.ng
Latest attempt at building better documentation for https://thi.ng/umbrella (also to make it available offline!): Having noticed that recent versions of TypeDoc support extracting & merging of doc strings from monorepos, over the past few weeks I've been updating/cleaning docstrings in hundreds of source files across all 200+ packages and started building a small tool to assemble a single/mega-page documentation (currently ~4.3MB of just HTML). The tool translates existing docstrings and references contained therein (and still used for the existing API docs) to support proper cross-package references.
I've uploaded an early preview here:
https://docs.thi.ng/umbrella/
Please be aware that so far this is only an early stage prototype and only contains very limited docs. I.e. there are no generics/typeparams, no details about classes/interfaces... But at least I know now HOW to add this all, as well as all the additional metadata I've already got (currently still only available via other custom tools/examples).
For example, there're links to the tag-based browser[1] and I'm also planning to add the fuzzy doc search engine/index[2] to this new documentation... The tag browser integration still needs more work in terms of correctly matching package names to tags. The underlying system is there already, just needs more work in terms of actually doing/assigning the concept mapping. Since most package names in thi.ng/umbrella are very plain/boring (for a reason), for many (most?) packages this already works pretty well:
Example: Visiting the WebGL package docs: https://docs.thi.ng/umbrella/#webgl and then clicking on "examples" for this package, then opens the tag browser for WebGL: https://demo.thi.ng/umbrella/thing-browser/#webgl where you can then see all other packages and examples related to this topic...
More updates on this all soon! Excited! 🤩
(EDIT: added screenshots...)
[1] https://demo.thi.ng/umbrella/thing-browser/
[2] https://demo.thi.ng/umbrella/rdom-search-docs/
#ThingUmbrella #Documentation #Metadata #Tagging #Search #OpenSource #TypeScript #JavaScript
@bnijbakker@mastodon.social
Did you know `foo ??= "default"` is a thing? In JavaScript as well, not just PHP?
I didn't. But now I do. And now you do too!
It's useful sometimes.
For reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_assignment
@bnijbakker@mastodon.social
Did you know `foo ??= "default"` is a thing? In JavaScript as well, not just PHP?
I didn't. But now I do. And now you do too!
It's useful sometimes.
For reference: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_assignment
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@weltraumpoet@nerdculture.de
Hallo,
ich suche zur Zeit einen #Job als #Softwareentwickler im Raum #Potsdam oder #Remote
Ich bin Diplom- #Informatik-er mit 12 Jahren Berufserfahrung.
Bisher arbeitete ich mit
#Cpp
#Csharp
#Javascript
#Typescript
#CSS
#HTML
#Java
#Python
#Angular & #Ionic
#MFC, #WindowsForms & #WPF
…
Auch #Docker, Gitlab-#Pipelines oder Azure DevOps sind mir nicht fremd. Ich bewegte mich bisher auf #Windows, #Linux, und auch ein wenig auf MacOS.
Irgendwo anzukommen und mich in einem konstruktiven Umfeld einzubringen, fände ich sehr schön.
Ich arbeite mich gerne in neue Felder ein, so würde mich unter Anderem die Embedded-Entwicklung interessieren, aber auch Sprachen wie Rust.
Ich spreche mich gern im Team ab oder lasse mich durch Kollegen in meiner Arbeit inspirieren, und bringe gerne meine Erfahrungen ein.
Auf Anfrage mit ein paar Informationen schicke ich gerne eine Bewerbung oder Ähnliches.
Vielleicht findet sich ja etwas über diese Plattform.
Vielen Dank.
@weltraumpoet@nerdculture.de
Hallo,
ich suche zur Zeit einen #Job als #Softwareentwickler im Raum #Potsdam oder #Remote
Ich bin Diplom- #Informatik-er mit 12 Jahren Berufserfahrung.
Bisher arbeitete ich mit
#Cpp
#Csharp
#Javascript
#Typescript
#CSS
#HTML
#Java
#Python
#Angular & #Ionic
#MFC, #WindowsForms & #WPF
…
Auch #Docker, Gitlab-#Pipelines oder Azure DevOps sind mir nicht fremd. Ich bewegte mich bisher auf #Windows, #Linux, und auch ein wenig auf MacOS.
Irgendwo anzukommen und mich in einem konstruktiven Umfeld einzubringen, fände ich sehr schön.
Ich arbeite mich gerne in neue Felder ein, so würde mich unter Anderem die Embedded-Entwicklung interessieren, aber auch Sprachen wie Rust.
Ich spreche mich gern im Team ab oder lasse mich durch Kollegen in meiner Arbeit inspirieren, und bringe gerne meine Erfahrungen ein.
Auf Anfrage mit ein paar Informationen schicke ich gerne eine Bewerbung oder Ähnliches.
Vielleicht findet sich ja etwas über diese Plattform.
Vielen Dank.
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@rauschma@fosstodon.org
New title, improved structure: “A guide to tsconfig.json”
https://2ality.com/2025/01/tsconfig-json.html
@deno_land@fosstodon.org
The next version of Deno will have a super fast JS/TS plugin API for the linter 🎉
Watch @lcasdev write a lint rule to ban string literals in <60 seconds.
This, plus many other goodies, to land next week with Deno 2.2.
@deno_land@fosstodon.org
The next version of Deno will have a super fast JS/TS plugin API for the linter 🎉
Watch @lcasdev write a lint rule to ban string literals in <60 seconds.
This, plus many other goodies, to land next week with Deno 2.2.
@deno_land@fosstodon.org
JSR is now openly governed — meet its board members and check out its governance charter 👇
@deno_land@fosstodon.org
Deno 2.2 was scheduled to be released tomorrow but we're slipping the release until next week to complete the V8 upgrade to 13.4
@deno_land@fosstodon.org
Run Rust (left) in JavaScript (right) via wasm
@deno_land@fosstodon.org
Over the past few months, we've made several improvements to our documentation:
🗂️ better organized examples
📸 video tutorials
💻 more documentation in API reference
and much more —
@deno_land@fosstodon.org
The next version of Deno will have a super fast JS/TS plugin API for the linter 🎉
Watch @lcasdev write a lint rule to ban string literals in <60 seconds.
This, plus many other goodies, to land next week with Deno 2.2.
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@deno_land@fosstodon.org
The next version of Deno will have a super fast JS/TS plugin API for the linter 🎉
Watch @lcasdev write a lint rule to ban string literals in <60 seconds.
This, plus many other goodies, to land next week with Deno 2.2.
@deno_land@fosstodon.org
Over the past few months, we've made several improvements to our documentation:
🗂️ better organized examples
📸 video tutorials
💻 more documentation in API reference
and much more —
@rauschma@fosstodon.org
New title, improved structure: “A guide to tsconfig.json”
https://2ality.com/2025/01/tsconfig-json.html
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@qiita@rss-mstdn.studiofreesia.com
MUIのコンポーネントをラップした単数選択・複数選択ができるSelectコンポーネントを作ってみた
https://qiita.com/st1212/items/83eaa5d0f446fd9c603c?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@botkit@hollo.social
🎉 Announcing BotKit 0.1.0: A new framework for creating ActivityPub bots!
We're thrilled to announce the initial release of #BotKit, a #TypeScript framework that makes creating standalone #ActivityPub bots simpler than ever before. With BotKit, you can create a complete fediverse bot in just a single TypeScript file!
Key features:
Getting started is as simple as:
deno add jsr:@fedify/botkit@^0.1.0
Here's a quick example of a weather bot:
const kv = await Deno.openKv();
const bot = createBot<void>({
username: "weatherbot",
name: "Seoul Weather Bot",
summary: text`I post daily weather updates for Seoul!`,
kv: new DenoKvStore(kv),
queue: new DenoKvMessageQueue(kv),
});
// Reply to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Current temperature in Seoul is 18°C!`);
};
// Post scheduled updates
const session = bot.getSession("https://weather.example.com");
setInterval(async () => {
await session.publish(
text`Seoul Weather Update 🌡️
Current: 18°C
Humidity: 65%
Forecast: Clear skies ☀️`
);
}, 1000 * 60 * 60); // Hourly updates
While BotKit currently supports #Deno, we're working on bringing Node.js and Bun support in future releases.
Ready to create your first fediverse bot? Check out our docs at https://botkit.fedify.dev/ to get started! 🚀
@deno_land@fosstodon.org
Deno 2.2 was scheduled to be released tomorrow but we're slipping the release until next week to complete the V8 upgrade to 13.4
@deno_land@fosstodon.org
Run Rust (left) in JavaScript (right) via wasm
@deno_land@fosstodon.org
Deno 2.2 was scheduled to be released tomorrow but we're slipping the release until next week to complete the V8 upgrade to 13.4
@deno_land@fosstodon.org
Oracle justified its JavaScript trademark by claiming Node.js — now it wants that ignored
#FreeJavaScript
@deno_land@fosstodon.org
Oracle justified its JavaScript trademark by claiming Node.js — now it wants that ignored
#FreeJavaScript
@deno_land@fosstodon.org
Oracle justified its JavaScript trademark by claiming Node.js — now it wants that ignored
#FreeJavaScript
@deno_land@fosstodon.org
Oracle justified its JavaScript trademark by claiming Node.js — now it wants that ignored
#FreeJavaScript
@deno_land@fosstodon.org
Oracle justified its JavaScript trademark by claiming Node.js — now it wants that ignored
#FreeJavaScript
@joschi@hachyderm.io
Dear #LazyWeb, what’s out there for #DurableExecution, preferably with support for #GoLang, #TypeScript, and #Java?
I know temporal.io and dbos.dev. What else have you got?
@rauschma@fosstodon.org
Tutorial: publishing ESM-based npm packages with TypeScript
https://2ality.com/2025/02/typescript-esm-packages.html
@rauschma@fosstodon.org
Tutorial: publishing ESM-based npm packages with TypeScript
https://2ality.com/2025/02/typescript-esm-packages.html
@tjdraper@phpc.social
I've worked with dates and times in several programming languages, and I have to say that the best is easily PHP (since the big refactor in, what was it, 5.6?).
The worst is easily Javascript.
@tjdraper@phpc.social
I've worked with dates and times in several programming languages, and I have to say that the best is easily PHP (since the big refactor in, what was it, 5.6?).
The worst is easily Javascript.
@jonn@social.doma.dev · Reply to alexandra's post
@xandra I'm so happy that someone's doing what I wanted to[1]. I'd be happy to write as well as contribute during review process if someone needs contributions.
Sadly, I've decided to post what I have worked on for #FlakeMag in my blog, but in the spirit of 5th code jam[2], I could write a how-to article about setting up swarms of virtual machines on #Linux.
Alternatively, I can write an entry-level article about how to archive web pages and scrape stuff easily with #python (ugh) and/or #typescript.
Even more alternatively, as the most "good-interenetey" option, I can write an article about how and why to use #zulip for team and community management: guidelines, topic structures, etc.
[1]: https://social.doma.dev/@jonn/112202043937657180
[2]: https://32bit.cafe/~xandra/events/codejam5/
@deno_land@fosstodon.org
JSR is now openly governed — meet its board members and check out its governance charter 👇
@julian@fietkau.social
Made a little bit of progress on my #Fedify project yesterday. Spun my wheels testing a few #TypeScript ORMs and running into compatibility problems with each of them. By the time I went to bed, the preferences page was capable of storing and loading account-local form data for the first time. 🥳
For this project, when progress looks slow from the outside, it's because I'm learning the ecosystem pretty much from scratch. Not letting myself get discouraged. 🙂
@julian@fietkau.social
Made a little bit of progress on my #Fedify project yesterday. Spun my wheels testing a few #TypeScript ORMs and running into compatibility problems with each of them. By the time I went to bed, the preferences page was capable of storing and loading account-local form data for the first time. 🥳
For this project, when progress looks slow from the outside, it's because I'm learning the ecosystem pretty much from scratch. Not letting myself get discouraged. 🙂
@qiita@rss-mstdn.studiofreesia.com
@deno_land@fosstodon.org
Deno's fully featured, zero-overhead FFI is stable
@deno_land@fosstodon.org
Building a CLI is easy with these browser methods 👀
#deno #nodejs #typescript #WebDev #javascript #WebDevelopment
@deno_land@fosstodon.org
Deno 2.1.8 has been released with important LSP performance improvements along with an important bug fix for S3 uploads
@deno_land@fosstodon.org
AsyncIterable<T> can be used to construct the body for Request and Response 👇
@deno_land@fosstodon.org
Building a CLI is easy with these browser methods 👀
#deno #nodejs #typescript #WebDev #javascript #WebDevelopment
@deno_land@fosstodon.org
Deno 2.1.8 has been released with important LSP performance improvements along with an important bug fix for S3 uploads
@deno_land@fosstodon.org
AsyncIterable<T> can be used to construct the body for Request and Response 👇
@qiita@rss-mstdn.studiofreesia.com
【図解解説】React19の新機能を使って書籍管理アプリを開発するチュートリアル【Hono/TypeScript/TailwindCSS】
https://qiita.com/Sicut_study/items/e19d485078d59cf93282?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@deno_land@fosstodon.org
AsyncIterable<T> can be used to construct the body for Request and Response 👇
@constantorbit@hachyderm.io
uggggh I'm in ES module vs CommonJS hell in nodejs. With Typescript layered on top.
Is it just me, or is this whole JS/TS environment a sh*tshow and nobody will admit it? It feels like a huge ball of duct tape and baling wire.
Maybe I should see if I can convince my org to explore Deno.
@rauschma@fosstodon.org
TypeDoc—my ideas for testing code in JSDoc comments: https://github.com/TypeStrong/typedoc/issues/2840
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@qiita@rss-mstdn.studiofreesia.com
@deno_land@fosstodon.org
Deno 2.1.8 has been released with important LSP performance improvements along with an important bug fix for S3 uploads
@deno_land@fosstodon.org
Building a CLI is easy with these browser methods 👀
#deno #nodejs #typescript #WebDev #javascript #WebDevelopment
@qiita@rss-mstdn.studiofreesia.com
@adrianc@hachyderm.io
Hi!
I'm Adrian, a FullStack #Developer looking for a job either in #Québec (or from it if you allow for remote work), with a permanent and open visa
I have experience building and maintaining web apps and APIs, designing systems, doing #DevOps and a bit of #BigData, #MachineLearning and #IoT
I'm experienced using #Elixir, #Phoenix, #LiveView, #NodeJS, #TypeScript, #Fastify, #Express and #Python ; and on the DevOps side in CI/CD pipelines (either #GithubActions and Gitlab CI/CD), #Docker and a bit of #Kubernetes
I was tasked with a lot of the #innovation happening in my previous company, researching tools, librairies, patterns or general technologies either for our own #DeveloperExperience or for our products
I also wrote a lot of technical and non technical documentation and internal presentations, and even participated in a few meetups. You can read some of my writing on my blog: https://blog.adrianc.eu
You might also have seen me on a few Elixir-related Discord servers, or even Bluesky (@adrianc.eu) and Twitter ; either sharing tech news, helping people, reading in book clubs or just chatting
I’m open to full-time right now, contracting work can be discussed.
I'm looking for any developer position, not only #ElixirLang, even though it represents most of my experience. And if the technology you're using isn't on my resume, give me a chance! I'm a fast learner and I might anyway have studied it in class :P
DM me for more info, like github link, my resume or anything :)
Boosts, responses and DM welcome, of course!
#MyElixirStatus #FediJobs #FediJob #FediGetHired #OpenToWork
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@deno_land@fosstodon.org
Deno's fully featured, zero-overhead FFI is stable
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@adrianc@hachyderm.io
Hi!
I'm Adrian, a FullStack #Developer looking for a job either in #Québec (or from it if you allow for remote work), with a permanent and open visa
I have experience building and maintaining web apps and APIs, designing systems, doing #DevOps and a bit of #BigData, #MachineLearning and #IoT
I'm experienced using #Elixir, #Phoenix, #LiveView, #NodeJS, #TypeScript, #Fastify, #Express and #Python ; and on the DevOps side in CI/CD pipelines (either #GithubActions and Gitlab CI/CD), #Docker and a bit of #Kubernetes
I was tasked with a lot of the #innovation happening in my previous company, researching tools, librairies, patterns or general technologies either for our own #DeveloperExperience or for our products
I also wrote a lot of technical and non technical documentation and internal presentations, and even participated in a few meetups. You can read some of my writing on my blog: https://blog.adrianc.eu
You might also have seen me on a few Elixir-related Discord servers, or even Bluesky (@adrianc.eu) and Twitter ; either sharing tech news, helping people, reading in book clubs or just chatting
I’m open to full-time right now, contracting work can be discussed.
I'm looking for any developer position, not only #ElixirLang, even though it represents most of my experience. And if the technology you're using isn't on my resume, give me a chance! I'm a fast learner and I might anyway have studied it in class :P
DM me for more info, like github link, my resume or anything :)
Boosts, responses and DM welcome, of course!
#MyElixirStatus #FediJobs #FediJob #FediGetHired #OpenToWork
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@deno_land@fosstodon.org
Want to use Rust in JavaScript?
Increase performance in the browser?
Here's an intro to using Wasm with Deno.
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@botkit@hollo.social
Are you interested in creating bots for the #fediverse? Meet #BotKit, a #TypeScript framework that makes bot development easier than ever!
Key Features:
True Independence
Simple and Intuitive API
Modern Deployment
Enterprise-Ready Foundation
Developer Experience
Here's a quick example of how simple it is to create a bot:
import { createBot, mention, text } from "@fedify/botkit";
const bot = createBot<void>({
username: "greetbot",
name: "Greet Bot",
summary: text`A friendly bot that greets people!`,
// ... configuration ...
});
// Respond to mentions
bot.onMention = async (session, message) => {
await message.reply(text`Hi, ${message.actor}! Thanks for saying hello!`);
};
export default bot;
Getting Started:
deno add jsr:@fedify/botkit@^0.1.0-dev
Check out our documentation at https://botkit.fedify.dev/ to learn more!
@deno_land@fosstodon.org
Want to use Rust in JavaScript?
Increase performance in the browser?
Here's an intro to using Wasm with Deno.
@deno_land@fosstodon.org
Deno supports the new URL.parse() web API, which provides a simpler control flow for parsing URLs 👇
@deno_land@fosstodon.org
Want to use Rust in JavaScript?
Increase performance in the browser?
Here's an intro to using Wasm with Deno.
@deno_land@fosstodon.org
The OpenAI JavaScript SDK is now on JSR 🎉️
@deno_land@fosstodon.org
Deno supports the new URL.parse() web API, which provides a simpler control flow for parsing URLs 👇
@deno_land@fosstodon.org
Want to use Rust in JavaScript?
Increase performance in the browser?
Here's an intro to using Wasm with Deno.
@deno_land@fosstodon.org
Want to use Rust in JavaScript?
Increase performance in the browser?
Here's an intro to using Wasm with Deno.
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@deno_land@fosstodon.org
Deno supports the new URL.parse() web API, which provides a simpler control flow for parsing URLs 👇
@deno_land@fosstodon.org
Deno supports the new URL.parse() web API, which provides a simpler control flow for parsing URLs 👇
@rauschma@fosstodon.org
#TypeScript: incrementing and decrementing number literal types.
type X = Inc<5>; // 6
type Y = Dec<5>; // 4
https://gist.github.com/rauschma/698990c9425f97a7782fea082aa4285c
@rauschma@fosstodon.org
#TypeScript: incrementing and decrementing number literal types.
type X = Inc<5>; // 6
type Y = Dec<5>; // 4
https://gist.github.com/rauschma/698990c9425f97a7782fea082aa4285c
@deno_land@fosstodon.org
use CSS styling in console log with Deno
@deno_land@fosstodon.org
Deno 2.1.7 is out!
▸ smaller deno compile binaries (~2Mb)
▸ Node compat bug fixes
Upgrade with `deno upgrade`
@deno_land@fosstodon.org
VSCode will automatically detect your Deno tests
@deno_land@fosstodon.org
The OpenAI JavaScript SDK is now on JSR 🎉️
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@deno_land@fosstodon.org
The OpenAI JavaScript SDK is now on JSR 🎉️
@deno_land@fosstodon.org
The OpenAI JavaScript SDK is now on JSR 🎉️
@deno_land@fosstodon.org
The OpenAI JavaScript SDK is now on JSR 🎉️
@rauschma@fosstodon.org
Feature in next week’s #TypeScript 5.8 Beta: --erasableSyntaxOnly
• Pull request: https://github.com/microsoft/TypeScript/pull/61011
• Description (with an old name): https://github.com/microsoft/TypeScript/issues/59601#issuecomment-2294010520
Forbids non-type syntax that isn’t JavaScript—e.g. enums and namespaces.
Use case: TypeScript support in Node.js. https://2ality.com/2025/01/nodejs-strip-type.html
/via @robpalmer
@deno_land@fosstodon.org
VSCode will automatically detect your Deno tests
@deno_land@fosstodon.org
Deno 2.1.7 is out!
▸ smaller deno compile binaries (~2Mb)
▸ Node compat bug fixes
Upgrade with `deno upgrade`
@deno_land@fosstodon.org
use CSS styling in console log with Deno
@kur0den0010@chpk.kur0den.net
『[Typescript] 「なぜ enum の利用が推奨されないのか?」をまとめてみた #TypeScript - Qiita』 - https://qiita.com/saba_can00/items/696baa5337eb10c37342
@deno_land@fosstodon.org
Deno 2.1.7 is out!
▸ smaller deno compile binaries (~2Mb)
▸ Node compat bug fixes
Upgrade with `deno upgrade`
@deno_land@fosstodon.org
use CSS styling in console log with Deno
@deno_land@fosstodon.org
use CSS styling in console log with Deno
@deno_land@fosstodon.org
use CSS styling in console log with Deno
@biomejs@fosstodon.org
Today we’re happy to share our plans for Biome 2.0 as well as the rest of our roadmap for 2025.
Read all about it here: https://biomejs.dev/blog/roadmap-2025/
#OpenSource #WebDev #Tooling for #JavaScript #TypeScript #CSS #GraphQL and #GritQL, written in #Rust
@deno_land@fosstodon.org
git log --since "2024-01-01" --until "2025-01-01"
@deno_land@fosstodon.org
git log --since "2024-01-01" --until "2025-01-01"
@deno_land@fosstodon.org
git log --since "2024-01-01" --until "2025-01-01"
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@deno_land@fosstodon.org
Deno 2.1.6 has been released
- Correct handling of compilerOptions.types
- Better handling of npm package types
- Improvements to node:fs FileHandle
- Make deno outdated more robust
Run `deno upgrade` to get it
@qiita@rss-mstdn.studiofreesia.com
【図解解説/初心者OK】Next.jsとHonoで爆速タイピングゲームを作ろう【Redis/Bun/TypeScript/Upstash/TailwindCSS】
https://qiita.com/Sicut_study/items/c12faaf962646bee34f7?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
Slackで自分にきたメンションを、自動でタスク化してNotionに登録するアプリの作成した話
https://qiita.com/bskcorona-github/items/46090f7ca789bde4ee3d?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@qiita@rss-mstdn.studiofreesia.com
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@deno_land@fosstodon.org
Deno 2.1.6 has been released
- Correct handling of compilerOptions.types
- Better handling of npm package types
- Improvements to node:fs FileHandle
- Make deno outdated more robust
Run `deno upgrade` to get it
@deno_land@fosstodon.org
Deno 2.1.6 has been released
- Correct handling of compilerOptions.types
- Better handling of npm package types
- Improvements to node:fs FileHandle
- Make deno outdated more robust
Run `deno upgrade` to get it
@deno_land@fosstodon.org
Deno 2.1.6 has been released
- Correct handling of compilerOptions.types
- Better handling of npm package types
- Improvements to node:fs FileHandle
- Make deno outdated more robust
Run `deno upgrade` to get it
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@revathskumar@fosstodon.org · Reply to Revath S Kumar :javascript:'s post
Wrote a small web utility to visualize the different string normalization forms of a text.
https://string-normalize.surge.sh/?str=I+%e2%99%a5+K%c3%b6ln
Not the best design 😄 , but feedbacks are welcome.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@qiita@rss-mstdn.studiofreesia.com
ビルドされたVue.jsではタグ内でのインスタンス初期化実行がエラーになる
https://qiita.com/lyd-ryotaro/items/cf8c50a349449752fb85?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
【Prisma,TypeScript】Prismaを用いたビットフラグによるデータ格納方法
https://qiita.com/rtkjm22/items/51b1779d9d2942a955a9?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@botkit@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust @fedify foundation.
@chriskrycho@mastodon.social
Two interesting API discussions for True Myth’s recently-released `Task` type—
1. A proposal for a `retry` method or function. This is a pretty obvious utility for an async operation, and people often build custom retry helpers around `Promise` today. https://github.com/true-myth/true-myth/discussions/931
@chriskrycho@mastodon.social
Two interesting API discussions for True Myth’s recently-released `Task` type—
1. A proposal for a `retry` method or function. This is a pretty obvious utility for an async operation, and people often build custom retry helpers around `Promise` today. https://github.com/true-myth/true-myth/discussions/931
@revathskumar@fosstodon.org · Reply to Revath S Kumar :javascript:'s post
Wrote a small web utility to visualize the different string normalization forms of a text.
https://string-normalize.surge.sh/?str=I+%e2%99%a5+K%c3%b6ln
Not the best design 😄 , but feedbacks are welcome.
@chriskrycho@mastodon.social
I wrote up a quick note on “fairness” with async operations and how it is *not* a property of `Promise.race` and `Promise.all` in #JavaScript (or #TypeScript, obviously!). This is not something you have to think about often, but does it ever matter when you do! https://v5.chriskrycho.com/notes/javascript-promise-race-and-promise-all-are-not-fair/
@chriskrycho@mastodon.social
I wrote up a quick note on “fairness” with async operations and how it is *not* a property of `Promise.race` and `Promise.all` in #JavaScript (or #TypeScript, obviously!). This is not something you have to think about often, but does it ever matter when you do! https://v5.chriskrycho.com/notes/javascript-promise-race-and-promise-all-are-not-fair/
@qiita@rss-mstdn.studiofreesia.com
【個人開発】YouTubeのコメントをX(Twitter)のように見れるアプリを開発しました!
https://qiita.com/shotaqiita/items/690cb5b788e2732aa98f?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@jakobmiksch@mastodon.social · Reply to Ilya Zverev's post
@zverik @mvexel @ianthetechie #flutter looks good in general, I am also a bit worried that it will be abandoned one day by Google. Also there are less #dart programmers around than #javascript #typescript #react programmers.
since I do a lot of #web development #reactnative seems to be make a bit more sense to me, even though I am more into #vue #vuejs
what I understand from your comments is that #maplibre support for #reactnative seems to be better compared to #flutter That is a good insight
@WetHat@fosstodon.org
Key Points:
➡️ BotKit enables the creation of standalone ActivityPub bots, free from platform constraints.
➡️ It is user-friendly and written in TypeScript, ensuring type safety.
➡️ BotKit is easy to deploy with minimal dependencies on various virtual servers.
➡️ Powered by #Fedify, a robust #ActivityPub framework.
#ActivityPub #BotKit #Fediverse #TypeScript #Deno #OpenSource #Programming
@deno_land@fosstodon.org
Deno 🤝️ Nuxt.js
@deno_land@fosstodon.org
Advent of Code with Deno is over!
Thanks to all who have participated. If we haven't contacted you about stickers, then please let us know (or email andy@deno.com).
Finally, one lucky winner will get the elite, special edition, hyper exclusive Deno sticker. (Here's Phil seeing it for the first time.)
️
More details 👇️
https://deno.com/blog/advent-of-code-2024
#deno #AOC2024 #aoc #nodejs #javascript #typescript #webdevelopment
@deno_land@fosstodon.org
Deno 🤝️ Nuxt.js
@deno_land@fosstodon.org
Advent of Code with Deno is over!
Thanks to all who have participated. If we haven't contacted you about stickers, then please let us know (or email andy@deno.com).
Finally, one lucky winner will get the elite, special edition, hyper exclusive Deno sticker. (Here's Phil seeing it for the first time.)
️
More details 👇️
https://deno.com/blog/advent-of-code-2024
#deno #AOC2024 #aoc #nodejs #javascript #typescript #webdevelopment
@jakobmiksch@mastodon.social
Hey #gis people do you have experience building #geospatial mobile apps with either #flutter or #reactnative ?
#gistribe #gischat #react #dartlang #typescript #maplibre #openlayers
@deno_land@fosstodon.org
Advent of Code with Deno is over!
Thanks to all who have participated. If we haven't contacted you about stickers, then please let us know (or email andy@deno.com).
Finally, one lucky winner will get the elite, special edition, hyper exclusive Deno sticker. (Here's Phil seeing it for the first time.)
️
More details 👇️
https://deno.com/blog/advent-of-code-2024
#deno #AOC2024 #aoc #nodejs #javascript #typescript #webdevelopment
@WetHat@fosstodon.org
Key Points:
➡️ BotKit enables the creation of standalone ActivityPub bots, free from platform constraints.
➡️ It is user-friendly and written in TypeScript, ensuring type safety.
➡️ BotKit is easy to deploy with minimal dependencies on various virtual servers.
➡️ Powered by #Fedify, a robust #ActivityPub framework.
#ActivityPub #BotKit #Fediverse #TypeScript #Deno #OpenSource #Programming
@qiita@rss-mstdn.studiofreesia.com
@WetHat@fosstodon.org
Key Points:
➡️ BotKit enables the creation of standalone ActivityPub bots, free from platform constraints.
➡️ It is user-friendly and written in TypeScript, ensuring type safety.
➡️ BotKit is easy to deploy with minimal dependencies on various virtual servers.
➡️ Powered by #Fedify, a robust #ActivityPub framework.
#ActivityPub #BotKit #Fediverse #TypeScript #Deno #OpenSource #Programming
@rauschma@fosstodon.org
#TypeScript: Do you include source maps in client-side web apps (vs. libraries)?
Option | Voters |
---|---|
I include source maps | 15 (48%) |
I don’t | 15 (48%) |
(Other) | 1 (3%) |
@rauschma@fosstodon.org
#TypeScript: Do you include source maps in client-side web apps (vs. libraries)?
Option | Voters |
---|---|
I include source maps | 15 (48%) |
I don’t | 15 (48%) |
(Other) | 1 (3%) |
@deno_land@fosstodon.org
Deno 🤝️ Nuxt.js
@qiita@rss-mstdn.studiofreesia.com
【個人開発】【Gemini × DALL-E3】日記からAIが絵本を作成してくれるアプリを開発
https://qiita.com/shinry/items/279c34d30ebe7283554a?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
【Chakra UI v3 × jest】テスト時のSelectの型エラーの解消方法①(Type '{ children: Element; }' has no properties in common with type 'IntrinsicAttributes & SelectTriggerProps & RefAttributes<HTMLButtonElement>'. 他)
https://qiita.com/ritsu21ctws/items/eda3d890a26dd0d1a4f4?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@deno_land@fosstodon.org
Deno 2.1.5 just landed —
▸ new QUIC API
▸ improved Discord.js compatibility
▸ better tasks support in workspaces
@deno_land@fosstodon.org
Deno 2.1.5 just landed —
▸ new QUIC API
▸ improved Discord.js compatibility
▸ better tasks support in workspaces
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@aronow@hachyderm.io
🚨 🚨 🚨
Good Morning #FediHire friends - have a new role for ya!
Looking for a fairly senior frontend-focused #Software Engineer to join a team building a containerization product for the CI/CD pipeline called Dagger.
The role is looking for some fairly specific criteria so here are the key points:
* This role is not a UI Designer position, you must have a strong coding background ( #JavaScript / #TypeScript / #ReactJS preferred) in addition to design chops
* Must have at least some experience with #Golang
* You must have developed frontends for #devtools (the thought behind this requirement is that these tools are designed very differently than a typical B2C site so if you have done something substantially similar, answer yes)
* Americas (somewhere between EST to PST) timezones are required. We can hire in Canada, US, South America, and have hired in Europe before for exceptional candidates
* We cannot sponsor visas at this time
* I've worked with this company for about 6 months and have only positive things to say about the team and culture
* There's currently a bug in the application coming from the ATS that's making the dropdowns funky. Don't judge me too harshly, I've submitted a ticket
I'm the #recruiter on the role, so feel free to ask any questions here and I'll either have an answer or go find you one :)
Full JD and application here: https://grnh.se/a1934cb05us
@aronow@hachyderm.io
🚨 🚨 🚨
Good Morning #FediHire friends - have a new role for ya!
Looking for a fairly senior frontend-focused #Software Engineer to join a team building a containerization product for the CI/CD pipeline called Dagger.
The role is looking for some fairly specific criteria so here are the key points:
* This role is not a UI Designer position, you must have a strong coding background ( #JavaScript / #TypeScript / #ReactJS preferred) in addition to design chops
* Must have at least some experience with #Golang
* You must have developed frontends for #devtools (the thought behind this requirement is that these tools are designed very differently than a typical B2C site so if you have done something substantially similar, answer yes)
* Americas (somewhere between EST to PST) timezones are required. We can hire in Canada, US, South America, and have hired in Europe before for exceptional candidates
* We cannot sponsor visas at this time
* I've worked with this company for about 6 months and have only positive things to say about the team and culture
* There's currently a bug in the application coming from the ATS that's making the dropdowns funky. Don't judge me too harshly, I've submitted a ticket
I'm the #recruiter on the role, so feel free to ask any questions here and I'll either have an answer or go find you one :)
Full JD and application here: https://grnh.se/a1934cb05us
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@deno_land@fosstodon.org
Deno 2.1.5 just landed —
▸ new QUIC API
▸ improved Discord.js compatibility
▸ better tasks support in workspaces
@deno_land@fosstodon.org
Deno 2.1.5 just landed —
▸ new QUIC API
▸ improved Discord.js compatibility
▸ better tasks support in workspaces
@deno_land@fosstodon.org
Deno is committed to web standards - that's why we co-founded WinterCG two years ago. Today marks the next step in that journey: WinterCG moves to Ecma International as technical comittee 55 (TC55).
Goodbye WinterCG, welcome WinterTC!
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@deno_land@fosstodon.org
Deno is committed to web standards - that's why we co-founded WinterCG two years ago. Today marks the next step in that journey: WinterCG moves to Ecma International as technical comittee 55 (TC55).
Goodbye WinterCG, welcome WinterTC!
@deno_land@fosstodon.org
Deno 2.1.5 just landed —
▸ new QUIC API
▸ improved Discord.js compatibility
▸ better tasks support in workspaces
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@toxi@mastodon.thi.ng
Another day, another #GenArtAPI release (v0.25.0):
This update mainly features the new `@genart-api/wasm` package, providing Zig & TypeScript bindings for core GenArtAPI functionality (i.e. so far mostly parameter handling).
This WASM bridge/integration is designed as an API module for the https://thi.ng/wasm-api toolchain. Installation & build instructions are in the readme.
New package homepage:
https://github.com/thi-ng/genart-api/tree/main/packages/wasm
Example project (w/ param editor):
https://demo.thi.ng/genart-api/param-editors/?url=https%3A%2F%2Fdemo.thi.ng%2Fgenart-api%2Fzig-test%2F
Example Zig source code:
https://github.com/thi-ng/genart-api/blob/main/examples/zig-test/zig/main.zig
#GenArtAPI #GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #WebAssembly #WASM #Zig #Ziglang
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@deno_land@fosstodon.org
Deno is committed to web standards - that's why we co-founded WinterCG two years ago. Today marks the next step in that journey: WinterCG moves to Ecma International as technical comittee 55 (TC55).
Goodbye WinterCG, welcome WinterTC!
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@deno_land@fosstodon.org
Deno is committed to web standards - that's why we co-founded WinterCG two years ago. Today marks the next step in that journey: WinterCG moves to Ecma International as technical comittee 55 (TC55).
Goodbye WinterCG, welcome WinterTC!
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@qiita@rss-mstdn.studiofreesia.com
JavaScript/TypeScript Tech Feed (2025/1/10号)
https://qiita.com/ysknsid25/items/b0a42e1408a7a411ca60?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@fedify@hollo.social
Introducing #BotKit: A #TypeScript framework for creating truly standalone #ActivityPub bots!
Unlike traditional Mastodon bots, BotKit lets you build fully independent #fediverse bots that aren't constrained by platform limits. Create your entire bot in a single TypeScript file using our simple, expressive API.
Currently #Deno-only, with Node.js & Bun support planned. Built on the robust #Fedify foundation.
@toxi@mastodon.thi.ng
New release of https://thi.ng/genart-api (v0.24.0) — a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:
This release contains quite a few new features, as well as several important fixes for bugs which were accidentally introduced in the two most recent versions...
- extracted the debug time provider & FPS overlay to separate package
- updated `bigint` param handling (esp. randomization)
- added `collector` and `iteration` metadata accessors
- updated platform adapters (esp. the #fxhash one)
- fixed image & ramp param handling
- added a bunch of utilities to core API to deduplicate code in various adapters
- updated/fixed examples & docs
- added more tests (and updated core API to be more testable outside the browser)
All changes since v0.21.0:
https://github.com/thi-ng/genart-api/compare/v0.21.0...v0.24.0
🎉
#GenArtAPI #GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript
@qiita@rss-mstdn.studiofreesia.com
【TypeScript】Map<K, V>とRecord<K, V>ってなにが違うの?
https://qiita.com/_ken_/items/5f90aa1ea776bc03857b?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@rauschma@fosstodon.org
Node’s new built-in support for TypeScript
https://2ality.com/2025/01/nodejs-strip-type.html
@rauschma@fosstodon.org
Node’s new built-in support for TypeScript
https://2ality.com/2025/01/nodejs-strip-type.html
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@MastodonEngineering@mastodon.social
New year, new role @Mastodon!
Our core team is looking for a senior Front-end Developer to elevate the web UI/UX experience for our users.
Ideally:
1. You are highly skilled in accessible and semantic #HTML
2. Proficient in modern #CSS
3. Experienced with #Javascript, #Typescript and complex React/Redux applications
This remote full-time position requires a 4-hour overlap with the CET timezone.
For more info/to apply:
https://jobs.ashbyhq.com/mastodon/6a0953c4-812b-4697-b5b3-ea0a2ae402c0
@qiita@rss-mstdn.studiofreesia.com
備忘録まとめ記事:頭の中のモヤモヤを整理し、AWS CDKでTypeScriptが主流な理由を考察してみた
https://qiita.com/free-honda/items/e27ce074d6a6b5206930?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
【React + TypeScript + Vite】デジタル名刺アプリの作成からデプロイまで
https://qiita.com/shin-tech/items/bd5f7cbfbf3f7e4c2c1d?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
@qiita@rss-mstdn.studiofreesia.com
【図解解説/初心者OK】Next.js不要?進化したReact Routerで技術記事アプリを作るチュートリアル【TypeScript/TailwindCSS】
https://qiita.com/Sicut_study/items/7dc1b0cdcc1bee210f05?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@qiita@rss-mstdn.studiofreesia.com
JavaScript/TypeScript Tech Feed (2025/1/3号)
https://qiita.com/ysknsid25/items/2a75b08cedc83be929a6?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@toxi@mastodon.thi.ng
#ReleaseFriday (1st release cycle of 2025) 🎉 — New additions & updates to https://thi.ng/genart-api, a platform-independent extensible API for browser-based computational/algorithmic/generative art projects:
- Added https://fxhash.xyz platform adapter (incl. support & adaptations for 10 of the 17 built-in GenArtAPI param types)
- Added `bigint` & `binary` data param types
- Updated parameter type definitions & factories (date, datetime, time, numlist, strlist, text, vector)
- Ensure any given default values are valid (and can be coerced)
- Added MurmurHash3 (128 bit version) functions (e.g. seed PRNGs)
- Added tests for all parameter types (factory functions & implementations)
- Added tests for utility functions
- Added GitHub actions (running tests)
- Various API docs updates, clarifications & fixes
- Update/refactor EditArt & Layer platform adapters
- Updated main & adapter readmes
New adapter package `@genart-api/adapter-fxhash`:
https://github.com/thi-ng/genart-api/tree/main/packages/adapter-fxhash
Commits since last release:
https://github.com/thi-ng/genart-api/compare/v0.20.0...v0.21.0
#GenArtAPI #ComputationalArt #AlgorithmicArt #GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript #Genuary
@qiita@rss-mstdn.studiofreesia.com
@zeab@fosstodon.org
Now that I got some fond memories of #typescript (read: Stockholm Syndrome), I sort of want to build stuff with #fedify. 😅
Though what I *really* want is an option like it for #ElixirLang. Maybe a project for the new year. 🤔
Not like we don't have #Akkoma, #Bonfire, #Pleroma, and #Mobilizon as examples of what could be a standard library. 😄
@zeab@fosstodon.org
Now that I got some fond memories of #typescript (read: Stockholm Syndrome), I sort of want to build stuff with #fedify. 😅
Though what I *really* want is an option like it for #ElixirLang. Maybe a project for the new year. 🤔
Not like we don't have #Akkoma, #Bonfire, #Pleroma, and #Mobilizon as examples of what could be a standard library. 😄
@zeab@fosstodon.org
Now that I got some fond memories of #typescript (read: Stockholm Syndrome), I sort of want to build stuff with #fedify. 😅
Though what I *really* want is an option like it for #ElixirLang. Maybe a project for the new year. 🤔
Not like we don't have #Akkoma, #Bonfire, #Pleroma, and #Mobilizon as examples of what could be a standard library. 😄
@deno_land@fosstodon.org
Participating in Advent of Code 🎄?
Use Deno and win some exclusive prizes 🎁️ 👀️
https://deno.com/blog/advent-of-code-2024
#deno #node #javascript #typescript #webdevelopment #adventofcode
@qiita@rss-mstdn.studiofreesia.com
@qiita@rss-mstdn.studiofreesia.com
JavaScript/TypeScript Tech Feed (2024/12/27号)
https://qiita.com/ysknsid25/items/ae27ed6109f3f731e8fd?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@toxi@mastodon.thi.ng
https://thi.ng/umbrella 2024 summary
Next month #ThingUmbrella will be already 7 years old (in its current monorepo form) and thi.ng itself turn 14 — a true teenager! 😱
2024 has been a year of a lot of maintenance and the first year in a while, in which I got to put so many of these tools & libraries to work on the development of several other new (and ongoing) projects (incl. some still unannounced ones). Considering the vastly different usage contexts, each time this is also a demonstration (to myself) of just how powerful, adaptable and _composable_ many of these libraries are, and I wish I'd be able to better communicate these aspects to other people...
My deepest thanks and gratitude to my amazing supporters/sponsors, who've been enabling me to continue this work, to expand on it and actively maintain it! Some of you already for years! Love you, people — Your support means the world to these projects (and to me)! And even though I'm still a far way from being able to work fulltime on all these projects, and also had to take on some consulting work this year, I too have been trying my best to work on thi.ng projects every day this year (and almost succeeded)...
Super special thanks go out to: @avi @made @Yura @robertoranon @jeffpalmer @alesroubicek @slowdownitsfine @latrokles @rc101 and others... (Sorry if I missed any other people/supporters/users here — please ping me (again) if I don't follow you already!) 🙏😍
Some juicy/boring statistics (#ThingUmbrella only!):
In 2024 there were 1,639 commits (incl. today's release), of which:
- 467 features (29%)
- 389 documentation related (24%)
- 340 refactor & performance (21%)
- 198 build, CI, testing, restructuring (12%)
- 112 releases (7%)
- 87 bug fixes (5%)
Scope:
- 200 packages/libraries/tools
- 180 standalone example projects/tools
- 520 code snippets/examples in docs (extractable via tooling)
Source code:
- 4,095 source files
- 223k SLOC total, of which:
- 159k lines of code
- 64k comment lines (mostly for API docs)
Readme's:
- 33% of packages with 1,000+ words
- 20% of packages with 1,500+ words
- Min: 215, max: 9,519, avg: 1,075 words
3,445 Github ⭐️ (+12% in 2024)
200,675,881 NPM total downloads to date (🤯)
There're many valuable ways to support these projects: Share your usage/experience reports, tips & tricks, ask/answer questions, submit issues/PRs, create small examples, documentation/tutorials, word-of-mouth etc.
If you see value in these projects and want to support a large & mature body of open source work financially, I'm accepting contributions via: Github, Liberapay & Patreon — thank you very much for your consideration!
https://github.com/postspectacular
https://liberapay.com/thi.ng/
https://patreon.com/thing_umbrella
Ps. I'm on a small single-user instance only here - any boosts are highly appreciated to increase visibility! Thank you! 🙏
#OpenSource #ReleaseFriday #SoftwareCraft #YearReview #Statistics #TypeScript #JavaScript #WebAssembly
@toxi@mastodon.thi.ng
https://thi.ng/umbrella 2024 summary
Next month #ThingUmbrella will be already 7 years old (in its current monorepo form) and thi.ng itself turn 14 — a true teenager! 😱
2024 has been a year of a lot of maintenance and the first year in a while, in which I got to put so many of these tools & libraries to work on the development of several other new (and ongoing) projects (incl. some still unannounced ones). Considering the vastly different usage contexts, each time this is also a demonstration (to myself) of just how powerful, adaptable and _composable_ many of these libraries are, and I wish I'd be able to better communicate these aspects to other people...
My deepest thanks and gratitude to my amazing supporters/sponsors, who've been enabling me to continue this work, to expand on it and actively maintain it! Some of you already for years! Love you, people — Your support means the world to these projects (and to me)! And even though I'm still a far way from being able to work fulltime on all these projects, and also had to take on some consulting work this year, I too have been trying my best to work on thi.ng projects every day this year (and almost succeeded)...
Super special thanks go out to: @avi @made @Yura @robertoranon @jeffpalmer @alesroubicek @slowdownitsfine @latrokles @rc101 and others... (Sorry if I missed any other people/supporters/users here — please ping me (again) if I don't follow you already!) 🙏😍
Some juicy/boring statistics (#ThingUmbrella only!):
In 2024 there were 1,639 commits (incl. today's release), of which:
- 467 features (29%)
- 389 documentation related (24%)
- 340 refactor & performance (21%)
- 198 build, CI, testing, restructuring (12%)
- 112 releases (7%)
- 87 bug fixes (5%)
Scope:
- 200 packages/libraries/tools
- 180 standalone example projects/tools
- 520 code snippets/examples in docs (extractable via tooling)
Source code:
- 4,095 source files
- 223k SLOC total, of which:
- 159k lines of code
- 64k comment lines (mostly for API docs)
Readme's:
- 33% of packages with 1,000+ words
- 20% of packages with 1,500+ words
- Min: 215, max: 9,519, avg: 1,075 words
3,445 Github ⭐️ (+12% in 2024)
200,675,881 NPM total downloads to date (🤯)
There're many valuable ways to support these projects: Share your usage/experience reports, tips & tricks, ask/answer questions, submit issues/PRs, create small examples, documentation/tutorials, word-of-mouth etc.
If you see value in these projects and want to support a large & mature body of open source work financially, I'm accepting contributions via: Github, Liberapay & Patreon — thank you very much for your consideration!
https://github.com/postspectacular
https://liberapay.com/thi.ng/
https://patreon.com/thing_umbrella
Ps. I'm on a small single-user instance only here - any boosts are highly appreciated to increase visibility! Thank you! 🙏
#OpenSource #ReleaseFriday #SoftwareCraft #YearReview #Statistics #TypeScript #JavaScript #WebAssembly
@deno_land@fosstodon.org
Thank you for your support in helping us reach 100,000 GitHub stars! ⭐️
@rauschma@fosstodon.org
Node.js 23.6.0 (“current”): --experimental-strip-types is enabled by default—i.e., we can run .ts files without compiling them.
https://2ality.com/2025/01/nodejs-strip-type.html
• Limitation of type stripping: no real compilation, only removal of type syntax. Most important unsupported features: enums & constructor parameter properties.
• Future: --experimental-transform-types which also supports TypeScript-only syntax.
@davidbisset@phpc.social
This is right up my ally:
A #selfhosted bookmark-everything app (links, notes and images) with #AI based automatic tagging and full text search. Even has iOS/Android app, #RSS support, REST API and SSO support.
https://github.com/hoarder-app/hoarder #typescript
@toxi@mastodon.thi.ng
Another new release of #GenArtAPI (v0.20.0), due to some urgent additions & updates of partially outdated documentation and refactoring/cleaning up of some parameter types. This project already contains more docs than code and because things are moving so fast, I forgot to update some parts... (Sorry for any confusion caused...)
Other notable updates:
- Simplified the core API's param value getter for obtaining time-based or randomized values (please check docs[1])
- Updated vector param definition
- Added a `.configure()` method for the EditArt platform adapter to allow manual selection of adapted params (to override the default auto-selection)[2]
You can see all the changes since the last release here:
https://github.com/thi-ng/genart-api/compare/v0.19.0...v0.20.0
[1] https://docs.thi.ng/genart-api/core/interfaces/GenArtAPI.html#getparamvalue-1
[2] https://github.com/thi-ng/genart-api/tree/main/packages/adapter-editart#selection
#GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript
@qiita@rss-mstdn.studiofreesia.com
@qiita@rss-mstdn.studiofreesia.com
【図解解説】0からNext.jsとRAGで最新情報特化のチャットボットを作ろう【LangChain/OpenAI/TypeScript】
https://qiita.com/Sicut_study/items/d133120dd32d2d6a248c?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@toxi@mastodon.thi.ng
#ReleaseSunday and already second #GenArtAPI update this week, plus the addition of a new platform adapter package for publishing artwork to https://editart.xyz (ready ahead of #Genuary2025 😉)... (cc/ @pifragile)
This new release (all packages at v0.19.0 now) also includes several updates to API docs and adapter readme's:
- https://github.com/thi-ng/genart-api
- https://github.com/thi-ng/genart-api/tree/main/packages/adapter-editart
- https://github.com/thi-ng/genart-api/tree/main/packages/adapter
All implementations are WIP (but fully functional, to the best of my knowledge!). If there's demand, I'm considering adding more parameter type adaptations also for the EditArt adapater (e.g. to support vector/XY params, as already done for the Layer adapter...)
Since I've been told "people/artists don't read anymore", tonight I'm starting to record a video walkthrough, wish me luck! :)
#GenerativeArt #Art #OpenSource #Parameters #Interoperability #TypeScript #JavaScript
@zkat@toot.cat
I am absolutely overjoyed to announce the release of #KDL 2.0.0!! https://kdl.dev
It's a significant overhaul of the language to make it SO MUCH NICER in so many ways.
This is the culmination of over 3 years of work (4 if you count from before 1.0.0), by SCORES of contributors.
https://github.com/kdl-org/kdl/releases/tag/2.0.0
I want to give huge thanks to everyone who supported all of us through this, who jumped in and had some really amazing discussions weighing all sorts of interesting trade-offs.
The end result is absolutely not something any one person could've reasonably come up with.
I hope y'all enjoy it <3
As part of this release, several implementations have already launched with full support for v2.0.0, so you can try it now!
👉 #Rust #RustLang https://github.com/kdl-org/kdl-rs
👉 #C / #CPP / #Python https://github.com/tjol/ckdl
👉 #Elixir https://github.com/IceDragon200/kuddle
👉 #JavaScript / #TypeScript https://github.com/bgotink/kdl
👉 #Python https://github.com/tabatkins/kdlpy
KDL is already used in all sorts of projects, and by various folks as a DSL for their own small hobby things: https://github.com/kdl-org/kdl?tab=readme-ov-file#used-by
There are around 8k .kdl files out on GitHub, which is a lot considering it's usually a config language!
I fully expect this to be the last version of KDL ever released. We really really tried, but I don't think there's anything we can reasonably improve on.
From here on out, the language is in the (stable!) hands of the ecosystem.
Also, we're hoping to have GitHub syntax highlighting support soon!
(Boosts welcome!!)
@deno_land@fosstodon.org
Thank you for your support in helping us reach 100,000 GitHub stars! ⭐️
@qiita@rss-mstdn.studiofreesia.com
@qiita@rss-mstdn.studiofreesia.com
@qiita@rss-mstdn.studiofreesia.com
@toxi@mastodon.thi.ng
New release of https://thi.ng/genart-api, a modular cross-platform API/SDK for browser-based computational/algorithmic/generative art projects, helping to reduce artists' efforts to adapt work for different art platforms/environments/uses/workflows.
Main new v0.18.0 additions:
- The param editor reference implementation now groups parameters by their declared group and sorts them by given order (both optional)
- The `@genart-api/adapter-layer` package supports adaptations/translations for more param types, incl. vectors, which are not yet natively supported by that platform. E.g. vectors will be transparently represented as multiple, separate numeric params on the platform side, but your artwork is blissfully unaware of this and still only would deal with vectors. The platform adapter does all the reconcilation and handling of param changes...
- Started adding tests
- Updated API docs & readme's
As always, feedback highly appreciated — this project is in active development...
I'm aware, the target audience for this larger project is quite limited, but the benefits are real (and palpable!), not just for artists in this field (but especially for them!)... I'll do my best to illustrate the (recurring) problems being solved here, demystify some of the concepts and squeeze in recording a short(ish) video showing how to develop a small project from scratch using this system/setup and then repurpose it and show related tools still in development...
#GenArtAPI #Art #GenerativeArt #AlgorithmicArt #Parameters #Interoperability #OpenSource #TypeScript #JavaScript
@realestninja@social.linux.pizza
@l_inadapte@framapiaf.org
Les claviers, c'est « so 20e siècle » 🙄
Écrire avec un smart cube, ça c'est le turfu ma gueule !
#clavier #keyboard #mechanicalKeyboads #ergol #bepo
#rubikscube #typescript
@zkat@toot.cat
there is now another #KDL implementation that supports preserving and managing formatting/comments... and it's in #JavaScript / #TypeScript and supports 2.0!!
If you're a JS dev and you've been wanting to check out the latest KDL, check this out: https://github.com/bgotink/kdl
@deno_land@fosstodon.org
@qiita@rss-mstdn.studiofreesia.com
1日1ハム語🐹 ハムちゃんが適当にお返事してくれるチャットアプリつくってみた
https://qiita.com/toremolo72/items/3af61687f50a70361ba2?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@toxi@mastodon.thi.ng
New work: #ALLUVION
Over the past two months I've been actively revisiting, updating/extending and now close to finishing this 1.5 year long journey... The actual journey has been much longer, been toying with (faux) fluid sims since ~2007...
A 50 second preview of one of my fave variations, best enjoyed fullscreen... Tried to achieve some molten, dichroic/irridescent glass & oilfilm aesthetics here, but there're over a dozen of other very different routes/styles possible too, with 25+ parameters to tweak the simulation and look & feel...
Made with https://thi.ng/shader-ast & https://thi.ng/shader-ast-stdlib
#Art #FluidSim #FlowField #Noise #Turbulence #ShaderAST #ThingUmbrella #TypeScript #GLSL #WebGL #GenerativeArt #Animation
@deno_land@fosstodon.org
Deno can now finally be installed through npm!
npm install -g deno
npx deno eval -p 1+2
@toxi@mastodon.thi.ng
#ReleaseFriday (Vol. 2) — Also new/recent updates in #ThingUmbrella:
- https://thi.ng/ramp has just received a bugfix for ramps with more than 256 keyframes. Thanks to @robertoranon for finding & reporting! 🤩🙏
- https://thi.ng/meta-css also fixes a couple of issues related to using certain characters within template/macro arguments (e.g. `:`, `=`)
Last week, I also added a new feature to https://thi.ng/rstream to provide a 1:N fanout subscription type for reactive tuple values. For example, this is very useful for editing vector values via reactive UI components (using individual components per vector/tuple element)...
API docs & mini example:
https://docs.thi.ng/umbrella/rstream/functions/fromTuple.html
@toxi@mastodon.thi.ng
#ReleaseFriday (the 13th) — New version (v0.17.0) of https://thi.ng/genart-api with the following updates:
- Added platform adapter IDs for use with external editors/tooling
- Updated editors[1] to check for platform adapter & API version compatibility, display warnings if needed...
- Added/migrated three different seedable PRNG implementations in API core package (SFC32, XorShift128, XsAdd). These are completely independent and can be used by platform adapters and/or artworks (also multiple instances)
- Initial release of first platform adapter for an upcoming art platform (currently invite only)
- Restructured all example projects
- Updated readme & API docs (https://docs.thi.ng/genart-api/core/)
[1] The param editor/sandbox requires your artwork to use the latest version of these packages: `@genart-api/core` and `@genart-api/adapter-urlparams`.
https://demo.thi.ng/genart-api/param-editors/
New improved version (of editor) with many more features (incl. variation/preset management) is in the works...
#GenArtAPI #OpenSource #GenerativeArt #Art #Parameters #Interoperability #TypeScript #JavaScript
@deno_land@fosstodon.org
Interested in contributing to Deno?
Check out Divy's talk on Deno internals and op2: https://www.youtube.com/watch?v=vINOqgn_ik8
@thomasreggi@indieweb.social
Would love thoughts and feedback on my Future / deferred promise library:
https://www.npmjs.com/package/@reggi/future
Be kind ❤️
#JavasScript #js #npm #package #module #opensource #ts #typescript
@deno_land@fosstodon.org
Easily check for outdated dependencies with `deno outdated` 👇️
@qiita@rss-mstdn.studiofreesia.com
フルスタックNext.jsの決定版!? "Payload"で管理画面&WebAPIを自動生成!
https://qiita.com/UtaMori/items/531c30b46630d0c883a3?utm_campaign=popular_items&utm_medium=feed&utm_source=popular_items
@deno_land@fosstodon.org
this wren wants to remind you that Deno permission flags have shorthands
@hongminhee@hollo.social
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, @hollo, an ActivityPub-enabled microblogging software for single users, and @botkit, a simple ActivityPub bot framework.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文, #漢文)!
@toxi@mastodon.thi.ng
Almost each time I get a Dependabot alert, I've been using it as an opportunity to remove some 3rd party dependency. This doesn't mean my code is more secure (albeit I'm trying), but at least it's under my control, or is replaced with more native/built-in/vetted packages.
Latest case: An alert for a transitive dependency of `express` just caused me to refactor the only one (of 180) example projects in https://thi.ng/umbrella which depended on the latter, replaced with a barebones NodeJS built-in solution (good enough for this use case) and resulting in ~60 less dependencies in total...
@g6i@mastodon.social
Ideas on connecting #EventStorming with composable Workflows and use that also for data modelling in #typescript
@toxi@mastodon.thi.ng
Major #GenArtAPI project updates from this past week:
- Restructured the project as monorepo, splitting out core API and platform adapter(s) as separate packages
- Switched package scope from `@thi.ng` to `@genart-api` to highlight project/platform independence (not directly related with other thi.ng projects).
- Published new packages: `@genart-api/core` and `@genart-api/adapter-urlparams`
- Moved API docs to https://docs.thi.ng/genart-api/core/
- Added support for n-dimensional vector parameters and added support in the reference platform adapter and in param editor
- Updated all examples & parameter editor. The latter is now only compatible with this latest API version (v0.16.0)
- Updated docs/readme
If you want to find out more, the project readme has _a lot_ more information. Also feel free to get in touch with any questions/proposals!
#GenArtAPI #OpenSource #GenerativeArt #Art #Parameters #Interoperability #TypeScript #JavaScript
@g6i@mastodon.social
One problem I see with Effect is that you can't try to pipe functions without adopting the full FP package.
Instead, I think in
#TypeScript
functions can/should be composable and procedural at the same time
domain-centric.dev/posts/workfl...
@alvinashcraft@hachyderm.io
How to generate unit tests with GitHub Copilot: Tips and examples.
https://buff.ly/49pSCXd
#github #githubcopilot #ai #aiassistant #unittesting #python #typescript #claudeai #tdd
@deno_land@fosstodon.org
@g6i@mastodon.social
Am I missing something important or is typia.io better than zod for
#typescript
runtime type validation? There's no much info online, so it would be great if anybody here could share their own experience using it in Node, Bun or
@deno.land
@deno_land@fosstodon.org
Update on #FreeJavaScript: Oracle has filed a notice of appearance, signaling engagement in the JavaScript trademark case. Aside from this, we’ve had no communication. Their response is due by January 4th.
https://deno.com/blog/deno-v-oracle/20241204-notice-of-appearance.pdf
@kris@bumscode.com
Many very talented software engineers I know well from a previous employer have either just been layed off or are actively looking for a new gig due to these mass layoffs. If you know a company, preferrably in Germany, that is looking for #javascript #typescript developers, please let me know. Please boost for reach! #getfedihired
@g6i@mastodon.social
More pseudo-functional ideas for error handling in
#TypeScript
(and if you know how to make better ts codeblocks in Markdown/Lume please let me know!!)
domain-centric.dev/posts/error-handling
@zeab@fosstodon.org · Reply to Alejandro Baez's post
Day 2 done with some messing about for #AdventOfCode. I'm certainly relearning again #typescript. 🫠
This one took me much longer cause I didn't know how to handle mahjong slices of arrays in typescript. 😅
https://git.sr.ht/~ab/advent-of-code-2024/tree/main/item/days/02/02.ts
@deno_land@fosstodon.org
Did you know you can host your Next.js app on Deno Deploy in just a few steps? Here's how👇️
@toxi@mastodon.thi.ng
It just dawned on me that I haven't been mentioning five(!) recent https://thi.ng/genart-api updates, all from the past month... 😱
The latest version (v0.14.0, just released) is largely about an overhaul of messaging related functionality and also addresses use cases related to managing multiple artworks embedded (via `<iframe>`s) in a single document/page (think: online gallery scenarios...)
If you're already using GenArtAPI message/event listeners in your own artwork, you might have to rename some of them. This commit has the important details:
https://github.com/thi-ng/genart-api/commit/35b627d7380bad75d280cc1e051ec7ed23aa8995
Also, the online parameter editors have been updated and are now only working with the latest version of the API, so be sure to update your artwork projects to stay compatible:
Generic editor harness (for your own compatible artworks):
https://demo.thi.ng/genart-api/param-editors/
Demo (with test artwork):
https://demo.thi.ng/genart-api/param-editors/?url=https%3A%2F%2Fdemo.thi.ng%2Fgenart-api%2Fparam-test%2F
Other recent changes/additions (in no particular order):
- added new message types to poll the artwork/API for current state/info
- update message names & naming convention
- added ability to configure the API behavior/features (also via messaging)
- option to emit frame messages w/ current timing/frame info
- message broadcasting to multiple GenArtAPI instances/artworks
- inject common defaults for optional settings in param specs
- fixed date/datetime param handling (in editor)
- updated/fixed time providers
- updated debug time provider (w/ FPS visualization overlay)
- use gzip compression for image param values (in default platform adapter)
- added version info
- various documentation updates
- (WIP) WASM bindings for Zig-based artworks
- (WIP) unpublished progress on real platform adapters
Some of these features are all about enabling new use cases and improving usability of external tooling around artworks adapting GenArtAPI, for example:
- Ability to broadcast start/stop messages to either individual or all artworks embedded in a page
- Ability for the param editor to configure the artwork currently being worked on to emit timing & frame information (which then can be integrated in the editor UI without the editor knowing anything else about the artwork)
- Enable editors to identify an artwork/project and store param presets grouped by project ID
- Allow editors (or other tools) to check the API version used by the artwork by first sending a `genart:get-info` message, then listening for `genart:info` response (then maybe display a warning if version is incompatible)
- etc.
If you want to find out more, the project readme has _a lot_ more information. Also feel free to get in touch with any questions!
#GenArtAPI #OpenSource #GenerativeArt #Art #Parameters #Interoperability #TypeScript #JavaScript #Zig #WASM #WebAssembly
@zeab@fosstodon.org
Trying something with @deno_land and #AdventOfCode 😁
It's been extra long since I done anything in #typescript. So should be interesting.
Here's day 1 complete 😆
https://git.sr.ht/~ab/advent-of-code-2024/tree/main/item/days/01
@deno_land@fosstodon.org
Participating in Advent of Code 🎄?
Use Deno and win some exclusive prizes 🎁️ 👀️
https://deno.com/blog/advent-of-code-2024
#deno #node #javascript #typescript #webdevelopment #adventofcode
@deno_land@fosstodon.org
It's done. Now it’s your turn, Oracle.
We’ve submitted a formal petition to cancel the JavaScript trademark: it is generic, Oracle has abandoned it, and Oracle committed fraud on the USPTO during the last trademark renewal.
Oracle has until January 4th to respond, or the case will go into default, which will result in the trademark being canceled.
It's time to #FreeJavaScript.
@koehnlein@mastodon.social
Me fixing "variable is possibly 'null'" errors in #TypeScript
@deno_land@fosstodon.org
Deno 2.1 is out 🎉️
✈️️ first class Wasm support
🌳️ Long Term Support branch
⭐️ Improved dependency management
and much more!
#deno #node #javascript #nodejs #typescript #webdev #npm #wasm
@deno_land@fosstodon.org
@toxi@mastodon.thi.ng · Reply to Karsten Schmidt's post
Did some further updates to the #TypeScript code generator for #WASM bindings (https://thi.ng/wasm-api-bindgen) and released new versions of all https://thi.ng/wasm-api packages. The new codegen creates even smaller code (approx. -20%), achieved via better re-use of newly introduced helper functions to reduce boilerplate...
These changes will have compounding effects for larger numbers (or complexities) of generated types, especially those involving structs with string fields and/or arrays/slices...
@toxi@mastodon.thi.ng
Very much liking the succinctness of the JS Compression Streams API[1] and wish I'd known about this a couple of years earlier. Here're some small helpers to compress or decompress a byte array...
I've just also pushed a new version of https://thi.ng/genart-api (v0.11.0) in which the reference implementation platform adapter now uses gzip compression for serializing the data of image maps/parameters (in ~50-60% of the original size)...
[1] https://developer.mozilla.org/en-US/docs/Web/API/Compression_Streams_API
(edit: removed obsolete `async`)
@toxi@mastodon.thi.ng
Various #ThingUmbrella and #GenArtAPI updates from this week:
- Added null pointer checks & guards in https://thi.ng/wasm-api. This also includes support for structs with fields using Zig-style optional pointers.
- Updated the https://thi.ng/wasm-api-bindgen code generator for #TypeScript to produce smaller code for structs using many string fields
- Did major ground work on #Zig #WebAssembly bindings of core https://thi.ng/genart-api functionality (see small demo below)
- Fixed/updated/simplified time provider logic
- Updated the debug time provider with its FPS analytics/visualization overlay, now computing moving min/max and moving average (default period = 200 frames) and the viz is dynamically/smoothly rescaling to current peak
- Released new GenArtAPI v0.9.0
As for the Zig/WASM example: This is only interesting from a technical POV, no visuals here! All canvas drawing and parameter declarations/evaluations are done via Zig, using the aforementioned https://thi.ng/wasm-api infrastructure to provide a new API module which can be seamlessly used with the other hybrid WASM API modules, here for DOM creation (https://thi.ng/wasm-api-dom) and to handle Canvas2D drawing (https://thi.ng/wasm-api-canvas).
At the moment, this GenArtAPI WASM module is still a fixed part of this example, but will eventually be extracted & distributed as separate package.
Demo (with param editor):
https://demo.thi.ng/genart-api/param-editors/?url=https://demo.thi.ng/genart-api/zig-test/
Choose one of the two GUI implementations, then make any parameter changes and you should see the new values applied immediately (btw. the demo is likely not very usable on mobile)...
Source code (TypeScript in `/src`, Zig in `/zig` directories):
https://github.com/thi-ng/genart-api/tree/main/examples/zig-test/
#GenerativeArt #ArtMaking #Interop #OpenSource #Workflow #TypeScript #JavaScript
@deno_land@fosstodon.org
Deno is a JavaScript package manager with more flexibility:
📦️ npm and JSR
🛠️️ package.json and deno.json
👟️ fast
@toxi@mastodon.thi.ng
Yesterday, one year ago... (Still wondering how many people actually have read or tried out any of these)
https://mastodon.thi.ng/@toxi/111348591236791838
#ThingUmbrella #HowToThing #TypeScript #Tutorial #Shader #GIS #SIMD #Forth #ProcGen
@sublimer@mstdn.sublimer.me
はてなブログに投稿しました
TypeScriptのコードをそのままデプロイできてOpenAIのAPIもSQLiteもCronもメール送受信も使える高機能なPaaSの「Val Town」 - await wakeUp(); https://sublimer.hatenablog.com/entry/2024/11/04/090301
@toxi@mastodon.thi.ng
Some #GenArtAPI and #ThingUmbrella releases from this past week:
https://thi.ng/genart-api is already at v0.8.1 now. This latest version includes a new "debug mode" time provider plugin which also collects and computes frame rate statistics (moving average) and injects a canvas visualization overlay (everything configurable). Together with the parameter editor, this is a small, but useful tool to help configuring an artwork and ensure fluid performance on a target device/platform...
The URL chooser of the reference implementation's parameter editor is also mobile friendly now. You can see a demo of both in action here:
https://demo.thi.ng/genart-api/param-editors/?url=https://demo.thi.ng/genart-api/param-test/
Some https://thi.ng/umbrella related updates:
https://thi.ng/memoize: Function memoization/caching. Added support for async functions/promises and made existing implementations variadic (and removed fixed arity versions!). This is thanks to a feature request by Hitomi Tenshi...
https://thi.ng/transducers-stats: Functional sequence processing. Added moving minimum/maximum transducers (deque-based to be super efficient) and updated Donchian channel transducer (aka moving min/max bounds) to also benefit from new implementation
There's also ongoing major (re)work of the long-promised 2D/3D mesh implementation. It's still on a private feature branch, but I'm getting closer for initial release...
#OpenSource #Release #Announcement #TypeScript #JavaScript #GenerativeArt
@mochuel0@masto.es
This extension is a fork of the official deno extension. Adds support for Deno LSP on notebooks. It also defines a new notebook type (*.nb.ts). This way you can use "import" between notebooks. Lastly, it also adds a notebook controller for vscode, so you can use deno's jupyter kernel in vscode without Python.
@webdev_discussions@mastodon.social
Error handling in typescript
https://meowbark.dev/Better-error-handling
Discussions: https://discu.eu/q/https://meowbark.dev/Better-error-handling
@ivan_herman@w3c.social
Developing an node.js compatible npm package in deno seems to be possible with the dnt tool. I have not tried it yet but, if it works, it is brilliant (it is so much smoother to develop with deno than with node+npm)
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
#LogTape 0.7.0をリリースしました!
新機能の暗黙的コンテキストにより、リクエストID、ユーザーIDなどの文脈情報を、手動で渡すことなくログに自動的に含められるようになりました。
詳しくは記事をご覧ください:
@hongminhee@fosstodon.org
Just released #LogTape 0.7.0 with implicit contexts! Now you can automatically include request IDs, user IDs, and more in your logs without passing context manually. Read more about this powerful feature:
https://dev.to/hongminhee/introducing-implicit-contexts-in-logtape-070-57fi
@typester@pdx.social
Unfortunately, I was laid off yesterday 😱
I have over 20 years of experience as a software engineer, specializing in #Rust, #TypeScript, and #mobile development, particularly passionate about building scalable, high-performance backend systems and asynchronous network software.
I live in Portland OR and looking for a full time job in in the US.
If you know of any opportunities where my skills might be a good fit, I would greatly appreciate any leads or referrals.
Thank you for your support!
@davidbisset@phpc.social
Why I 🧡 the web.
A tool that allows you to extract a list of html pages from a website and compile them into an #ePub book to be imported into your #eReader of choice.
@deno_land@fosstodon.org
Want to modernize legacy JavaScript?
One way is to convert CommonJS code to ESM 👇️
@phocks@bne.social
Just for fun I decided to try publishing a package on this new JSR "open-source package registry". Quick, simple, and fun. Love it! https://jsr.io/@phocks
@deno_land@fosstodon.org
4 years after Deno 1.0, the next generation of JavaScript is ready for production at scale.
Deno 2 is out today
🐢 Fully backwards compatible with Node and npm
📦 Package management and node_modules and package.json
📅 Long term support
@nicd@masto.ahlcode.fi
#introduction as posts aren't migrated:
Software dev from #Tampere, #Finland. Worked on full stack #Python and #JavaScript / #TypeScript projects for 10+ years, on my free time I use #Gleam & #Elixir (hope in the future at work!).
Main hobby project is https://codestats.net/, a free programming stats project. I also enjoy #GeoCaching, #cycling, and video games.
Blog: https://blog.nytsoi.net/ (engine: https://git.ahlcode.fi/nicd/scriptorium)
Some packages:
https://hex.pm/users/nicd
Working on #SolarPanel UI.
@deno_land@fosstodon.org
Deno 2 is not yet released, but we've made many️ updates to the release candidate 👇️
@toxi@mastodon.thi.ng
More exciting updates to https://thi.ng/genart-api, an API for browser-based generative artworks:
- added two list param types (numeric & string)
- added support for composite/nested param types, esp. interesting for custom param types declared by artworks and/or platforms
- updated the first (of two) GUI param editors in the reference implementation to support composite params
- added new example showcasing custom & composite param types (oscillators)
New example w/ editor (make sure to select the "imgui" editor):
https://demo.thi.ng/genart-api/param-editors/?url=https://demo.thi.ng/genart-api/param-custom/
Example source code:
https://github.com/thi-ng/genart-api/blob/main/examples/param-custom/src/index.ts
To explain a bit further: The example defines a custom oscillator parameter type, which itself consists of multiple sub-params to configure waveform, frequency, amplitude etc. Using the GenArtAPI messaging protocol, the external param editor (not knowing anything about the artwork or this custom param type) can still provide GUI widgets to customize the 2 oscillators used... Likewise, the artwork is completely decoupled from how those oscillator values are being computed or how they're customized via the editor...
#GenArtAPI #GenerativeArt #Art #API #Interop #OpenSource #ArtMaking #Workflow #TypeScript #JavaScript
@deno_land@fosstodon.org
The 🦕️ is out of the bag...
@hongminhee@fosstodon.org
If you've been avoiding #JavaScript & #TypeScript due to the complexity of the #Node.js ecosystem, give #Deno a try. Everything is simplified and you can start coding right away without having to set up a development environment.
@deebloo@indieweb.social
If this was built with a framework the framework wouldn't even be loaded yet. This doesn't even lazy load any JS. There is just so little of it that I load it in <head/>. Each stone is an html element AND each stone placement has to calculate quite a bit before it can move on.
@fedify@hollo.social
Are you excited about the #fediverse but find implementing #ActivityPub daunting? Meet #Fedify, a #TypeScript framework that simplifies building federated server apps. Whether you're creating the next Mastodon, Pixelfed, or something entirely new, Fedify has you covered.
Fedify abstracts away the complexities of ActivityPub, letting you focus on your app's unique features. It's designed to work seamlessly with popular web frameworks like Hono, Express, and Fresh.
Check out our step-by-step tutorial to create a microblog: https://fedify.dev/tutorial/microblog
Explore the discussions, contribute, or just star us on GitHub: https://github.com/dahlia/fedify
Join the Fedify community! Questions? Ideas? Find us on Matrix: #fedify:matrix.org.
Let's build a more diverse and interoperable fediverse together with Fedify!
@toxi@mastodon.thi.ng
Lots of new additions & improvements to the https://thi.ng/genart-api proposal, documentation, the reference implementation, examples and param editors this week:
- added new (12th) parameter type: image maps (supporting grayscale or RGB)
- added new example project using an image parameter to create artwork
- added code example showing how an art platform (or artwork itself) might define & work with a custom parameter type (example: sine oscillator)
- added/updated API docs (https://docs.thi.ng/umbrella/genart-api/)
- started documenting API states & transitions (diagram still WIP, forthcoming)
- initial documentation of message protocol (for communicating w/ parent window and/or external tooling)
- simplified the pluggable time provider implementations (for animation)
- updated the reference implementation platform adapter to support all built-in param types
- major update GUI param editors, now allowing users to dynamically load & customize externally hosted (compatible!) artworks, and also supporting image params, custom color chooser component...
Example editors:
- https://demo.thi.ng/genart-api/param-editors/?url=https://demo.thi.ng/genart-api/param-test/ — either of the two editors can be used...
- https://demo.thi.ng/genart-api/param-editors/?url=https://demo.thi.ng/genart-api/param-image/ — currently only the rdom-forms editor can be used for this and you'll need to choose an image for the other params to make sense...
(Note: The imgui-based editor is NOT mobile friendly. Also, the editor sidebar can be toggled on/off via Escape key)
As usual, everything's work-in-progress until further notice. Feedback welcome!
#GenArtAPI #GenerativeArt #Art #API #Interop #OpenSource #ArtMaking #Workflow #TypeScript #JavaScript
@okpierre@mastodon.social
activitypub typescript server framework called Fedify announces first stable release. It is being used by the open source Ghost CMS platform. Can't wait to see what other apps are created with Fedify
Github repo here: https://github.com/dahlia/fedify/releases/tag/1.0.0
#fedify #framework #typescript #activitypub #foss #opensource #oss #ghostcms #ghostblog #fediverse
@Diplodocus@mastodon.social
Since I haven’t yet posted an #introduction…
Hi, Mastodon! I joined :mastodon: before the #twittermigration kicked off because I love exploring new apps and social media sites.
I’m a programmer by trade, usually working on web apps using #typescript and of course #javascript (we love it just the way it is lol :blobmiou:)
I’m constantly #reading, especially #scifi, #clifi, and #solarpunk! I’m passionate about music, especially #technomusic and electronica. Catch me at #neotropolis… IYKYK 🙃
@deno_land@fosstodon.org
Rusty V8 is now stable!
With zero-overhead bindings to V8 APIs, memory safety through Rust’s ownership model, and great docs, it’s battle-hardened and production-ready. From here on, Rusty V8 will follow Chrome versions for predictable upgrades.
@hongminhee@fosstodon.org
#LogTape v0.6.0, a zero-dependency structured logging library for #JavaScript & #TypeScript, has been released. The main changes include:
• Loggers now can override sinks of their ascendants.
• Placeholders in message templates now forgive leading and trailing spaces.
• Added LogRecord.rawMessage property.
• Built-in text formatters now can be customized.
Available now from JSR and npm:
• JSR: https://jsr.io/@logtape/logtape@0.6.0
• npm: https://www.npmjs.com/package/@logtape/logtape/v/0.6.0
@deno_land@fosstodon.org
Deno 2 Release Candidate has dropped:
‣ Add `process` global variable, remove `window`
‣ Improve dep management
‣ Permission system updates
‣ Many stabilizations
‣ Better CommonJS support
‣ Test documentation with `deno test --doc`
@Wizarth@cathode.church
Big software nerd, trying to get back doing software dev for fun after putting all my energy into doing it for work. #CPlusPlus #JavaScript #TypeScript #JuliaLang
Outside of that, I'm trying to discover who I am. Not so much midlife crisis as "My personality is all trauma responses?" "Always has been."
@deno_land@fosstodon.org
Help us spread the word — it's time to #FreeJavaScript
@McFunkypants@mastodon.gamedev.place
just wrote my first pinball physics from scratch! it was so fun, only a couple hours of math confusion but I knew the secret involved DOT PRODUCT in some way and that was enough to get things rolling! #gamedev #typescript #webGL #threejs #madewithdbb
@hongminhee@fedibird.com
DenoやBunが好きな方いらっしゃいますか?
@deno_land@fosstodon.org
Curious about how the JSR logo and website design came together? 🤔️
Here's a 👀️ into our design process.
https://deno.com/blog/designing-jsr
#deno #node #javascript #typescript #webdevelopment #npm #jsr
@hongminhee@fosstodon.org
Hello, I'm an open source software engineer in my late 30s living in #Seoul, #Korea, and an avid advocate of #FLOSS and the #fediverse.
I'm the creator of @fedify, an #ActivityPub server framework in #TypeScript, and @hollo, a fediverse microblog for single users.
I'm also very interested in East Asian languages (so-called #CJK) and #Unicode. Feel free to talk to me in #English, #Korean (#한국어), or #Japanese (#日本語), or even in Literary Chinese (#文言文/#漢文)!
@fedify@hollo.social
Fedifyは、TypeScriptとJavaScriptで書かれたActivityPubサーバーフレームワークです。分散型のソーシャルネットワークを構築するためのサーバーアプリケーションを作る際の複雑さと冗長なコードを排除し、ビジネスロジックとユーザー体験の開発に集中できるようにすることを目指しています。
現在提供している主な機能は以下の通りです:
興味がある方は、Fedifyのウェブサイトをご覧ください!包括的なドキュメント、デモ、チュートリアル、サンプルコードなどが用意されています:
#Fedify #TypeScript #JavaScript #ActivityPub #NodeInfo #Node #Deno #Bun #fedidev
@eric@limulus.net
Time to finally do an #introduction!
I’ve been fascinated by the #web since I first got on the internet when I was a teenager. The idea that anyone could create a website — how cool is that!?
I’ve been a #Mac user even longer (my parents were in education and my mom would bring home her office Mac Classic on the weekends). Being creative with #HyperCard and wanting to make dynamic websites eventually got me into #programming. First with #Perl, later #PHP, and now #JavaScript and #TypeScript. I’ve also had some fun with #C, #ObjectiveC, and #Swift.
For 14 years I worked at a small company that makes the premier CMS for the #AltWeekly press in the US. Now I work on web applications in #React in the far-more corporate world. I also used to co-organize TucsonJS and Tucson React meetups.
@cdoremus@hachyderm.io
I'm a #softwaredev focusing on #javascript & #typescript specifically #deno. Right now, I'm working on a blog called Craig's Deno Diary. I also contribute to a few Deno projects and am taking a break from working in the corporate world.
I have over 20 years of experience in web development, first using Java and recently JavaScript/TypeScript. Before that I was a #journalist for 10 years.
I live in #Maine USA & try to enjoy the beautiful environment here as often as possible.
@hongminhee@fosstodon.org
I love #Deno (@deno_land) because it turned me from a #JavaScript hater into a JavaScript programmer, or more precisely, a #TypeScript programmer.
@toxi@mastodon.thi.ng
Updated internal state handling of the https://thi.ng/parse parser generators & DSL to define parsers. Seeing a 1.2 - 1.6x speedup of parsing performance in example projects (see project readme for links), especially for larger inputs...
#ThingUmbrella #ReleaseThursday #Parser #DSL #TypeScript #JavaScript
@hongminhee@fosstodon.org
Version 0.5.0 of #LogTape, the zero-dependency #logging library for #Deno, #Node.js, #Bun, edge functions, and browsers, has been released! The main additions include:
• Contexts
• ANSI color formatter
• Comprehensive docs
• A few API conveniences
LogTape v0.5.0 is available from JSR and npm:
• JSR: https://jsr.io/@logtape/logtape@0.5.0
• npm: https://www.npmjs.com/package/@logtape/logtape/v/0.5.0
In addition, a new website with documentation has been launched, so please check it out!
@deno_land@fosstodon.org
Hosting on Deno Deploy just got more performant with beta Web Cache API support:
🚀 sub-millisecond read latency
🚅 multi Gbps write throughput
💾 unbounded storage
https://deno.com/blog/deploy-cache-api
#deno #node #javascript #typescript #webdevelopment #serverless
@hongminhee@fosstodon.org
The new #Fedify tutorial I'm writing now even includes an explanation of #TypeScript and #JSX for readers who don't know them. As a result, it's getting very long. 😓
@deno_land@fosstodon.org
Deno 1.46 is not only the last 1.x release, but also one of the biggest:
- Simpler CLI
- Multi-threaded web servers
- HTML, CSS, YAML support in `deno fmt`
- Better Node/npm compat (support for playwright, google-cloud, etc.)
and much more 👇️
@hongminhee@fosstodon.org
QiitaにLogTapeの紹介文を日本語で書いて載せました。翻訳機とAIを多用したため、不自然な日本語があるかもしれませんが、不適切な表現を見つけたらぜひご指摘ください!
@infinimatt@hci.social
Think software testing should be easier? So do we!
If you have 90 mins, know TypeScript, and are 18+ in the US or CA, come participate in our remote user study over Zoom. Eligible participants receive a $30 Amazon gift card.
Self-screen & schedule a time slot here: https://cmu.ca1.qualtrics.com/jfe/form/SV_3KSjVAyTjmE2ssK
Boosts appreciated! #software #testing #SoftwareTesting #programming #TypeScript #SoftwareEngineering #SE #HCI #UX #DX
@nemeciii@mastodon.social
Hi! I'm a scrum master, developer, dad, geek & gamer.
I work at Gofore.com as a SM.
I love frontend #UI & #UX #JS #Angular #Typescript & related stuff. I have #Scrum #AzureDevOps, #Jira & #Gitlab as my tools to streamline dev processes.
Hobbies include:
#StarWars #Tolkien #LotR
#SciFi hard scifi or no physics at all, I do not care
#boardgame (s) oh boy I got almost 100
Pen & Paper #RPG (s) currently The One Ring RPG & Edge of the Empire
#Gaming, #PC, #PS5, + other consoles..
@hongminhee@fosstodon.org
I've rewritten #Fedify several times and in several languages. The first time it was written in #TypeScript, then #Python, then C#, then back to TypeScript. (It was codenamed FediKit at the time of development.) I settled on TypeScript for the following reasons:
• It has a decent JSON-LD implementation.
• Lots of people use it. (I wanted Fedify to be widely used.)
• It's type-safe enough.
Even if I were to build Fedify again, I would choose TypeScript.
@hongminhee@fosstodon.org
In the next version of #LogTape, a zero-dependency #logging library for #JavaScript & #TypeScript, contexts will be introduced that allow the same set of properties to be shared across multiple log messages. Thanks to @okikio for collaborating on the design! This feature is available for preview in 0.5.0-dev.60+f819929c.
• JSR: https://jsr.io/@logtape/logtape@0.5.0-dev.60+f819929c
• npm: https://www.npmjs.com/package/@logtape/logtape/v/0.5.0-dev.60
@hongminhee@fosstodon.org
#LogTape is a logging library for #JavaScript and #TypeScript. It provides a simple and flexible logging system that is easy to use and easy to extend. The highlights of LogTape are:
• Zero dependencies
• Designed to be used in libraries as well as apps
• Supports virtually every runtime: #Node.js, #Deno, #Bun, edge functions, and browsers
• Structured logging
• Logger categories (names) are hierarchical
• Dead simple sink (destination) interface
@henrikjernevad@mastodon.social
Time for an #introduction. 😊
My name is Henrik Jernevad, and I live in Sweden with my wife and two kids.
I love #softwaredevelopment! Started #programming as a kid and never stopped. Work as architect/developer aiming to create simple, effective solutions. Most experience in #Java/#JVM and #Kotlin. Currently learning #TypeScript.
Otherwise interested in #personaldevelopment, #Stoicism, and #strengthtraining.
My post will be mostly programming related. I also blog at https://henko.net/blog/.
@hongminhee@fosstodon.org
I'm unsure whether to adopt an emerging JavaScript runtime like #Bun or #Deno for #Fedify's tutorial, or stick with traditional #Node.js. 🤔
If I choose Bun/Deno, it comes with built-in #TypeScript support, hot reloading, and a fetch-style HTTP server, so I don't have to explain much about it, but I need to deal with installing Bun/Deno itself.
On the other hand, Node.js can be assumed to be already installed on the reader's system, but they will need to set up TypeScript, hot reloading, etc.
Option | Voters |
---|---|
Bun | 0 (0%) |
Deno | 0 (0%) |
Node.js | 0 (0%) |
@oscb@hachyderm.io
I haven't made a proper #introduction, so here we go.
I'm Oscar, a petrolhead that at some point decided to leave car journalism for computers (what was I thinking?!)
I've worked on cool stuff at Microsoft, Amazon and now Twilio.
I don't have a favorite language/fw, I hate them all.
I'm from Mexico, hablo español and I live in Seattle-ish with my lovely wife and Matcha, my cat.
Ping me if you want to chat about #cars, #books, or any questions about #typescript #SwiftUI and #reactnative
@fedify@hollo.social
#Fedify 소개: #연합우주 (#fediverse) 상에 #ActivityPub 서버 앱을 만들기 위한 강력한 #TypeScript 라이브러리! 🚀
Fedify는 연합형 앱의 복잡함을 단순화하여 개발자가 가장 중요한 것—고유한 기능과 사용자 경험—에 집중할 수 있게 해줍니다. Fedify의 특징을 살펴볼까요? 🧵
@deno_land@fosstodon.org
Deno is known for its HTTP imports, but we've found it's insufficient for larger projects. This post explains the situation and how we've improved it.
@hongminhee@fosstodon.org
Please only answer if you know how to code in #JavaScript. Can you also code in #TypeScript?
Option | Voters |
---|---|
Yes, I can code in TypeScript too. | 0 (0%) |
No, I can't code in TypeScript. | 0 (0%) |
@hongminhee@fosstodon.org
Today I learned that #TypeScript's type error messages are internationalized. Great!
@deno_land@fosstodon.org
std/data-structures, common data structures including red-black trees and binary heaps, is now stabilized at v1 on JSR
@tomayac@toot.cafe
Oh, that's interesting 👀: #NodeJS is experimenting with letting you run #TypeScript code directly by simply stripping the types, but without performing actual type checks: https://github.com/nodejs/node/pull/53725. This would allow you to just run `node index.ts`.
@hongminhee@fosstodon.org
Released v0.4.2 of #LogTape, which is a zero-dependency #logging library for #TypeScript & #JavaScript! Since this version, it work well on #Cloudflare Workers out of box!
• JSR: https://jsr.io/@logtape/logtape@0.4.2
• npm: https://www.npmjs.com/package/@logtape/logtape/v/0.4.2
@deno_land@fosstodon.org
🚀 Deno 1.45 is released!
‣ Workspace and monorepo support
‣ Node.js compat improvements
‣ Updates to deno install
‣ deno init --lib
‣ deno vendor deprecation
‣ Standard Library stabilization
‣ V8 12.7 and TypeScript 5.5
Release notes: https://deno.com/blog/v1.45
@toxi@mastodon.thi.ng
#HowToThing #Epilogue #LongRead: After 66 days of addressing 30 wildly varied use cases and building ~20 new example projects of varying complexity to illustrate how #ThingUmbrella libraries can be used & combined, I'm taking a break to concentrate on other important thi.ngs...
With this overall selection I tried shining a light on common architectural patterns, but also some underexposed, yet interesting niche topics. Since there were many different techniques involved, it's natural not everything resonated with everyone. That's fine! Though, my hope always is that readers take an interest in a wide range of topics, and so many of these new examples were purposefully multi-faceted and hopefully provided insights for at least some parts, plus (in)directly communicated a core essence of the larger project:
Only individual packages (or small clusters) are designed & optimized for a set of particular use cases. At large, though, thi.ng explicitly does NOT offer any such guidance or even opinion. All I can offer are possibilities, nudges and cross-references, how these constructs & techniques can be (and have been) useful and/or the theory underpinning them. For some topics, thi.ng libs provide multiple approaches to achieve certain goals. This again is by design (not lack of it!) and stems from hard-learned experience, showing that many (esp. larger) projects highly benefit from more nuanced (sometimes conflicting approaches) compared to popular defacto "catch-all" framework solutions. To avid users (incl. myself) this approach has become a somewhat unique offering and advantage, yet in itself seems to be the hardest and most confusing aspect of the entire project to communicate to newcomers.
So seeing this list of new projects together, to me really is a celebration (and confirmation/testament) of the overall #BottomUpDesign #ThingUmbrella approach (which I've been building on since ~2006): From the wide spectrum/flexibility of use cases, the expressiveness, concision, the data-first approach, the undogmatic mix of complementary paradigms, the separation of concerns, no hidden magic state, only minimal build tooling requirements (a bundler is optional, but recommended for tree shaking, no more) — these are all aspects I think are key to building better (incl. more maintainable & reason-able) software. IMO they are worth embracing & exposing more people to and this is what I've partially attempted to do with this series of posts...
ICYMI here's a summary of the 10 most recent posts (full list in the https://thi.ng/umbrella readme). Many of those examples have more comments than code...
021: Iterative animated polygon subdivision & heat map viz
https://mastodon.thi.ng/@toxi/111221943333023306
022: Quasi-random voronoi lattice generator
https://mastodon.thi.ng/@toxi/111244412425832657
023: Tag-based Jaccard similarity ranking using bitfields
https://mastodon.thi.ng/@toxi/111256960928934577
024: 2.5D hidden line visualization of DEM files
https://mastodon.thi.ng/@toxi/111269505611983570
025: Transforming & plotting 10k data points using SIMD
https://mastodon.thi.ng/@toxi/111283262419126958
026: Shader meta-programming to generate 16 animated function plots
https://mastodon.thi.ng/@toxi/111295842650216136
027: Flocking sim w/ neighborhood queries to visualize proximity
https://mastodon.thi.ng/@toxi/111308439597090930
028: Randomized, space-filling, nested 2D grid layout generator
https://mastodon.thi.ng/@toxi/111324566926701431
029: Forth-like DSL & livecoding playground for 2D geometry
https://mastodon.thi.ng/@toxi/111335025037332972
030: Procedural text generation via custom DSL & parse grammar
https://mastodon.thi.ng/@toxi/111347074558293056
#ThingUmbrella #OpenSource #TypeScript #JavaScript #Tutorial
@toxi@mastodon.thi.ng
A week ago was the 1st anniversary of this solo instance & more generally of my fulltime move to Mastodon. A good time for a more detailed intro, partially intended as CV thread (pinned to my profile) which I will add to over time (also to compensate the ongoing lack of a proper website)... Always open to consulting offers, commissions and/or suitable remote positions...
Hi, I'm Karsten 👋 — indy software engineer, researcher, #OpenSource author of hundreds of projects (since ~1999), computational/generative artist/designer, landscape photographer, lecturer, outdoor enthusiast, on the ND spectrum. Main interest in transdisplinary research, tool making, exploring techniques, projects & roles amplifying the creative, educational, expressive and inspirational potential of (personal) computation, code as material, combining this with generative techniques of all forms (quite different to what is now called and implied by "generative AI").
Much of my own practice & philosophy is about #BottomUpDesign, interconnectedness, simplicity and composability as key enablers of emergent effects (also in terms of workflow & tool/system design). Been adopting a round-robin approach to cross-pollinate my work & learning, spending periods going deep into various fields to build up and combine experience in (A-Z order): API design, audio/DSP, baremetal (mainly STM32), computer vision/image processing, compiler/DSL/VM impl, databases/linked data/query engines, data structures impl, dataviz, fabrication (3DP, CNC, knit, lasercut), file formats & protocols (as connective tissue), "fullstack" webdev (front/back/AWS), generative & evolutionary algorithms/art/design/aesthetics/music, geometry/graphics, parsers, renderers, simulation (agents/CFD/particles/physics), shaders, typography, UI/UX/IxD...
Since 2018 my main endeavor has been https://thi.ng/umbrella, a "jurassic" (as it's been called) monorepo of ~185 code libraries, addressing many of the above topics (plus ~150 examples to illustrate usage). More generally, for the past decade my OSS work has been focused on #TypeScript, #C, #Zig, #WebAssembly, #Clojure, #ClojureScript, #GLSL, #OpenCL, #Forth, #Houdini/#VEX. Earlier on, mainly Java (~15 years, since 1996).
Formative years in the deep end of the #Atari 8bit demoscene (Chip Special Software) & game dev (eg. The Brundles, 1993), B&W dark room lab (since age 10), music production/studio (from 1993-2003), studied media informatics, moved to London initially as web dev, game dev (Shockwave 3D, ActionScript), interaction designer, information architect. Branched out, more varied clients/roles/community for my growing collection of computational design tools, which I've been continously expanding/updating for the past 20+ years, and which have been the backbone of 99% of my work since ~2006 (and which helped countless artists/designers/students/studios/startups). Creator of thi.ng (since 2011), toxiclibs (2006-2013), both large-scale, multi-faceted library collections. Early contributor to Processing (2003-2005, pieces of core graphics API).
Worked on dozens of interactive installations/exhibitions, public spaces & mediafacades (own projects and many collabs, several award winning), large-scale print on-demand projects (>250k unique outputs), was instrumental in creating some of the first generative brand identity systems (incl. cloud infrastructure & asset management pipelines), collaborated with architects, artists, agencies, hardware engineers, had my work shown at major galleries/museums worldwide, taught 60+ workshops at universities, institutions and companies (mainly in EMEA). Was algorithm design lead at Nike's research group for 5 years, working on novel internal design tools, workflows, methods of make, product design (footwear & apparel) and team training. After 23 years in London, my family decided on a lifestyle change and so currently based in the beautiful Allgäu region in Southern Germany.
@toxi@mastodon.thi.ng
So much to do, but can't stop watching & hacking on this pseudo fluid sim every now & then... 🤩 Probably will develop this further into a tutorial for https://thi.ng/shader-ast
#ALLUVION #Animation #FlowField #FluidSim #Noise #ShaderAST #ThingUmbrella #TypeScript #GLSL #WebGL #GenerativeArt
@rauschma@fosstodon.org
My books on #JavaScript and #TypeScript are free to read online:
– Exploring JavaScript (ES2024 edition)
– Deep JavaScript
– Tackling TypeScript
– Shell scripting with Node.js
:mastodon: Boosts appreciated!
@fedify@hollo.social
Introducing #Fedify: A powerful #TypeScript library for building #ActivityPub server apps in the #fediverse! 🚀
Fedify aims to simplify the complex world of federated apps, allowing developers to focus on what matters most—their unique features and user experience. Let's explore what makes Fedify stand out! 🧵
@deno_land@fosstodon.org
std/crypto, extensions and utilities to the Web Crypto API, is now stabilized at v1.0.0 on JSR
@maybeanerd@bumscode.com
Now that I moved instance, it's time for a new #introduction !
I'm a fullstack software engineer who loves #typescript and is based in Germany.
In my free time I like to contribute to #opensource and build fun stuff like bots for #discord.
Oh, and I play a lot of games.
Both videogames on #pcgaming and #nintendoswitch, as well as tabletop games like #DnD or #mtg.
Also into #3dprinting ✨
@hongminhee@todon.eu
#LogTape is a logging library for #JavaScript and #TypeScript. It provides a simple and flexible logging system that is easy to use and easy to extend. The highlights of LogTape are:
• Zero dependencies
• Designed to be used in libraries as well as apps
• Supports virtually every runtime: #Node.js, #Deno, #Bun, edge functions, and browsers
• Structured logging
• Logger categories (names) are hierarchical
• Dead simple sink (destination) interface
@callionica@mastodon.social · Reply to Callionica's post
And of course the #JSDoc syntax equivalent to the #Typescript above so you can use it directly in your #Javascript code:
```
/**
* @template { new (args: any) => any } Class
* @template { object } Properties
* @typedef { new (...args: ConstructorParameters<Class>) => (InstanceType<Class> & Properties) } AddProperties
*/
```
@callionica@mastodon.social · Reply to Callionica's post
^ This is useful for when you're using #Javascript's dynamic capabilities with classes and you want to let #Typescript know about what you're doing.
`AddProperties` takes a class as the first argument and returns a class. Instances of the returned class have the properties that you specify in the second argument as well as all the stuff from the original class.
@callionica@mastodon.social
Adding properties to a class (AKA constructor function) in #typescript
```
class X {
x: number = 1;
constructor(o : number) {}
}
type AddProperties<
Class extends new (args: any) => any,
Properties extends object
> = new (...args: ConstructorParameters<Class>) => (InstanceType<Class> & Properties);
const Y = X as AddProperties<typeof X, { name: string }>;
const y = new Y(1);
y.x;
y.name;
```
This is just the TypeScript side of things.
@carbsrule_en@polyglot.city
Time for an updated #introduction.
I'm into #programming (#PHP, #TypeScript, #Go, one day #Rust).
#LanguageLearning rocks - some competence in #Esperanto, #Japanese and #German; less in others. Currently learning #Greek and #French, among others, and building @vortmaro.
#ClimateChange is a big deal and to mitigate it, let's switch to #renewables, #ElectrifyEverything, and adopt #PlantBased diets.
#COVID sucks, we should nuke it (with masks, filtration, ventilation, far-UV, etc.)
@hongminhee@todon.eu
#Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
• Type-safe objects for Activity Vocabulary (including some vendor-specific extensions)
• #WebFinger client and server
• HTTP Signatures
• Middleware for handling webhooks
• #NodeInfo protocol
• #Node.js, #Deno, and #Bun support
• CLI toolchain for testing and debugging
If you're curious, take a look at the Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@casraf@fosstodon.org
I guess it's time for an #introduction.
I'm a freelance full-stack & mobile developer at trade and love playing with different techs in my free time.
Love problem-solving, finding ways to introduce creativity into code, and creating quality-of-life dev tools and libraries whenever I can.
I have some packages for #javascript and #dart and other nice stuff on my website at https://casraf.dev/projects :) feel free to say hi!
@keithjgrant@front-end.social
😅 So I did not fully appreciate the power of hashtags on this place when I wrote my #introduction, so I'm giving it a second go.
• I'm a front-end web developer in Spokane, WA. I work for Red Hat on Ansible Controller using #react, #javascript, #typescript. I don't write so much #CSS here as I have at previous gigs, but, I'm okay at that too…
• I'm the author of CSS in Depth 📘 https://www.manning.com/books/css-in-depth
• I enjoy mixing #cocktails and have my recipes available in a #PWA : https://sidecar.us
@fedify@hollo.social
Fedify is an #ActivityPub server framework in #TypeScript & #JavaScript. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
The key features it provides currently are:
If you're curious, take a look at the #Fedify website! There's comprehensive docs, a demo, a tutorial, example code, and more:
@tlockney@fosstodon.org
When it comes to learning #TypeScript, one of my favorite tools is Deno's #Jupyter kernel (https://lnkd.in/g2GPc_gM). It makes writing quick examples easy and accessible. I'll need to eventually write up how this all works, but the combination of #Deno, Jupyter, #Tailscale, and Juno Connect (an iOS/iPadOS Jupyter client) have given me the ability to play around on the go.
From: @deno_land
https://fosstodon.org/@deno_land/112689533676963032
@deno_land@fosstodon.org
curious about TypeScript, but haven't had time to learn?
check out our new #Deno Bites series — short, digestible lessons to learn #TypeScript 👇️
@hongminhee@fosstodon.org · Reply to 洪 民憙 (Hong Minhee)'s post
I never use vanilla #JavaScript, I always code in #TypeScript instead, and Node.js is a pain in the neck with TypeScript settings.
@toxi@mastodon.thi.ng
Revisiting an old unfinished project with new eyes & new colors...
#ALLUVION #ThingUmbrella #Generative #Art #FluidSim #Colors #ShaderAST #TypeScript #WebGL
@too_little_caffeine@dotnet.social
Hello, fediverse! I'm a father, elder millennial, and software developer primarily in the #dotnet ecosystem. Though I do enjoy working with #react, #nextjs, and other #javascript and/or #typescript frameworks. I came here like many others as part of the #twittermigration. l'm looking for professional networking, learning, and socialization.
I love #coffee, #comics, #philosophy, #dnd, #cooking, #metal, and #videogames.
I want to move to #ireland one day!
@ambimist@toot.io · Reply to Ambimist's post
My most recent employment was mostly using #ClojureScript and #TypeScript with #React, but I've also a lot of experience with #Python on the back-end. That said, the goal is usually more important to me than specific languages or technologies, since they can be learnt.
I'm a #FOSS advocate and sometime contributor, and a full-time #linux user.
I'm not a #FreeSoftware copyright lawyer, but I play one on the Internet.
I'm also into #indiegamedev as a creative outlet!
@amcooper@toot.cat
Ok thanks to @nikolovlazar 's video, I was able to get debugging working for a tiny #NodeJS app in #Neovim 🎊. Next step is to get it working for a slightly larger #NestJS #Typescript application.
@kytta@fosstodon.org
Time to update my #introduction!
Hi Fediverse, I am Nikita
I am a 24-year-old full-stack web developer from Braunschweig 🇩🇪
Things I like: F(L)OSS (duh), #Python, #Django, #TypeScript, the Fediverse, #YouTube, and U+1E9E Latin Capital Letter Sharp S (ẞ)
Things I dislike: How everything BigTech touches tends to get worse. Also fermented milk products (unless it's cheese)
I blog (rarely) at https://www.kytta.dev, and I code (less rarely) at https://github.com/kytta
@mwenisch@mastodon.cesko.digital
Po mesici na Mastodonu prisel cas na #introduction
Jsem programator z Liberce. Pracoval jsem pro ziskovky i neziskovky ruzne po svete. Pro B&MG Foundation v Keni, v >c.d, vytvarel jsem Zbrane pro Ukrajinu a podobne. Aktualne programuju vlastni socialni sit WRKS.
V tech stacku mam TypeScript, Next, AWS, databaze a v podstate vsecko kolem toho.
✍️ Pisu pravidelne o vsem, co mi prijde pod ruku.
@pasimako@mastodon.social
Introduction to TypeScript API Testing with Jest and SuperTest
@pasimako@mastodon.social
How to set up TypeScript with ESLint & Prettier in Node.js from scratch
https://ubuverse.com/setting-up-typescript-with-eslint-prettier/
@pasimako@mastodon.social
How to Configure TypeScript in Node.js to Emit Native ESM Code
@kevinrenskers@hachyderm.io
Hi! I'm Kevin, a creative Dutch freelance developer with a passion for good design and intuitive, user friendly interfaces.
By day I use #Swift, #TypeScript, #Svelte, #SvelteKit, #Python, #Django and #HTMX to make apps for iOS and the web, and the APIs that drive them. At night I’m looking for the best burger in the world (recommendations always welcome!).
I've been building websites since 2000, and iOS apps since 2010.
Huge D&D nerd, building https://www.critical-notes.com in my free time.
@bubbline@tech.lgbt · Reply to Liana :v_trans: :v_kirb:'s post
🚀 If you just want to try it, , get on the website it’s very quick (https://get-narrat.com)
Here are some screenshots of games that have been made on it by people (Links to those games are on the website)
I don't really have a big network of followers so the only people can learn about this engine is if other people help spread info about it
#Narrat #gamedev #javascript #typescript #vue #programming #gaming #html #indiedev #rpg #project #tech #visualnovel #interactivefiction
@bubbline@tech.lgbt
Narrat 🐀 has been getting a bit of attention again so here's another intro of the engine. I think most people who might be interested in this don't actually know about it so I'm hoping to reach more people for once.
Narrat is a game engine I created to easily make interactive fiction games (narrative RPGs, visual novels etc) for desktop or browser.
I’ve worked on this game engine for some time, mostly to help friends make their games. It’s been used on a few small games, and some bigger ones in progress.
This Tumblr post has more details and could do with a signal boost as it's getting attention https://www.tumblr.com/bubbline3456/708071346693865473/narrat-engine-demo-narrat-is-a-game-engine-i?source=share
There's also a Patreon:
https://www.patreon.com/NarratEngine
🧵
#Narrat #gamedev #javascript #typescript #vue #programming #gaming #html #indiedev #rpg #project #tech #visualnovel #interactivefiction
@ampersarnie@mastodon.social
I’ve been putting it off but it’s about time I did an #introduction.
So, hi all!
As a #dad of one, my little boy is everything.
I’m an #EngineeringManager at https://bigbite.net where I primarily focus on #editorial workflows, #EditorialTools and in-house tooling. Working with #PHP #Javascript and #TypeScript and a variety of #FrontEnd tech built on top of #WordPress for the most part.
I’ve been putting off working on my personal site for years. Put it down to laziness.
(1/2)
@jessety@mastodon.social
👋 Hello! It's time for a proper #introduction. I'm Jesse Youngblood, a software developer based out of Boston USA.
I'm mostly focused on #TypeScript microservices and React web apps, plus mobile #iOSDev apps in #SwiftLang. I'm also an avid cyclist and musician.
I've been on Twitter for 15 years and quite sad to see it fall apart, but super excited to see all the excitement building around Mastodon. Can't wait to see where it goes!
@davidshq@hachyderm.io
Software Engineer. Insatiable learner across an eclectic collection of topics: #coding, #psychology, #history, #philosophy, #religion / #spirituality, #socialjustice, etc.
Introvert, but friendly. Slowly working towards building a #searchengine to replace #google.
Live in #georgia, from upstate #newyork.
Currently working on #enterprise #search; these days I primarily code in #python and #typescript
@rossng@indieweb.social
Hello! I guess I'm here now. 👋
You might find me talking about some of these nerdy topics: #programming #types #fp #functionalprogramming #typescript #rust #haskell
And these slightly different nerdy topics: #urbanism #bikes #architecture
@seiyria@mastodon.social
#introduction Hi! I'm Kyle. I make software, focus primarily on frontend development (#Typescript #Angular), and I like making games.
I've made a bunch of ambitious games using web technologies and will probably keep doing that, you might see me #gamedev sometimes.
I also really enjoy playing survival games, JRPGs, and a few other genres.
Dumb jokes are kinda my thing. Most of my boosts are just that.
@nosherwan@fosstodon.org
Just decided to revamp my introduction.
I am a full stack web dev 🍔 working remotely from the #blueMountains #Australia 🏔
A father of 2 👨👩👧👦 love different types of music 🎵, movies & #VideoGames 📺.
Work with #react #typescript for day job.
Interested in all sorts of web technologies & development.
Interested in making websites for anyone who needs one.
@treefit@fosstodon.org
Hi, I'm treefit, a #foss dev working on #deltachat. I'm responsible for the desktop client together with @jikstra.
My favorite coding language is #rustlang, but I "speak" #typescript, #javascript, #html, #css, too.
I'm also capable in #python and #swift, but not as much.
I'm new to the mastodon/toot style of communication (never used Twitter, either), so I'm still learning of how this all works.
My goal is to give you some behind-the scenes peeks onto the DeltaChat development.
#introduction
@bano@mastodon.ml
Я программист, сейчас на #typescript пишу всякие #web штуки. Последнее время упарываюсь в #web3, то есть #crypto, децентрализация и всякое такое. В вебе со времён #jquery и ES3, но про них обычно вспоминают как о страшном сне. Могу ещё писать на #python и #rust.
Но вообще когда-то давно хотел стать дизайнером. Не потому что творчество люблю, а потому что люблю делать красиво и удобно.
В свободное время... Скажем, что в свободное время я тюленю перед компом, пытаясь найти в интернете всякого интересненького. Не так давно нашёл вот Mastodon и потихоньку задумываюсь о том, чтобы сделать свой сайт в лучших традициях #indieweb
Вот такой вот получился у меня #introduction
Что буду сюда писать пока не знаю, я скорее чукча-слушатель, а не писатель.
@darekkay@fosstodon.org
Hey, I'm Darek Kay 👋
I'm a #frontend #developer and an #accessibility advocate, currently working at IBM. I love sharing what I know through my #blog, #teaching and #speaking at conferences.
I enjoy hiking, board games, escape rooms and playing the guitar/keyboard. Lately I've been diving deeper into #photography as well.
I prefer reading and writing less frequent but more substantial posts.
#introduction #webdevelopment #webdev #programming #a11y #javascript #typescript #react