#Bun

Hollo's avatar
Hollo

@[email protected]

is currently testing .js instead of . (In fact, the hollo.social server is already running on Node.js!) If this test is successful, starting with the next release, Hollo will be powered by Node.js instead of Bun.

The main reason for switching to Node.js is to optimize memory usage. As you can see in the graph image below, Node.js uses significantly less memory than Bun. With this switch, Hollo is expected to be even more lightweight than before!

Are you interested in trying out the Node.js version of Hollo early? Try to pull ghcr.io/dahlia/hollo:0.4.0-dev.290!

Hollo's memory usage graph. When I was running on Bun, it used about 4GB of memory, but after switching to Node.js, it uses about 0.5GB of memory.
Hollo's memory usage graph. When I was running on Bun, it used about 4GB of memory, but after switching to Node.js, it uses about 0.5GB of memory.
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

It supports , .js, , , , , , and out of box. Excellent! I with it would support as well though.

mise.jdx.dev/core-tools.html

Jake Hamilton's avatar
Jake Hamilton

@[email protected]

Hi everyone, I am now looking for full-time work! If you have a remote Software Engineer position available and work with web tech ( / / / / , etc), (or / ), , or / then please reach out! I love building tools to solve problems and delight users.

For examples of my previous work, links to my projects, and my resume, please see my website: jakehamilton.dev

Boosts very much appreciated!

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

started out exclusively for , but now also supports .js and . However, the we created in the early days still features the character from Deno. Should Fedify change its logo now?

OptionVoters
Yes, because it's misleading.5 (28%)
A logo is a logo, no need to change it.13 (72%)
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

is built in for ease of development, but it also supports .js and using . Deno's DX is so good that I don't regret this decision, and I'm looking forward to Deno 2.0 as well.

洪 民憙(ホン・ミンヒ)'s avatar
洪 民憙(ホン・ミンヒ)

@[email protected]

DenoやBunが好きな方いらっしゃいますか?

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

Fedifyは、TypeScriptとJavaScriptで書かれたActivityPubサーバーフレームワークです。分散型のソーシャルネットワークを構築するためのサーバーアプリケーションを作る際の複雑さと冗長なコードを排除し、ビジネスロジックとユーザー体験の開発に集中できるようにすることを目指しています。

現在提供している主な機能は以下の通りです:

  • Activity Vocabularyのための型安全なオブジェクト(一部のベンダー固有の拡張機能を含む)
  • WebFingerクライアントとサーバー
  • HTTP SignaturesObject Integrity Proofs
  • ウェブフックを処理するためのミドルウェア
  • NodeInfoプロトコル
  • Node.js、Deno、Bunのサポート
  • テストとデバッグのためのCLIツールチェーン

興味がある方は、Fedifyのウェブサイトをご覧ください!包括的なドキュメント、デモ、チュートリアル、サンプルコードなどが用意されています:

https://fedify.dev/

wraptile's avatar
wraptile

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

@hongminhee @deno_land it's amazing what a difference proper tooling makes!

Also check out which is very similar to Deno but even more convenient at times. I'm always in between these two and not really sure which one is better just happy to never use ever again 💀

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

One reason I like (@deno_land) more than .

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

Version 0.5.0 of , the zero-dependency library for , .js, , 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: jsr.io/@logtape/[email protected]
• npm: npmjs.com/package/@logtape/log

In addition, a new website with documentation has been launched, so please check it out!

logtape.org/

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected] · Reply to Pablo Berganza (he/him)'s post

@pablo I've been using and for a few years now, and I'm so happy with them that I don't want to go back to .js.

Pablo Berganza (he/him)'s avatar
Pablo Berganza (he/him)

@[email protected]

It’s been years since I’ve used NodeJS and was curious about the current situation. Is Deno a thing? I see they backtracked a bit and now have an NPM compatibility layer (although I don’t mind that). And I think I like the direction with JSR.io.
Is Bun alright? I’ve seen some comments saying that it was not ready for v1 yet.
Is this going to be like an io.js situation and we will all go back to Node eventually?

Hollo's avatar
Hollo

@[email protected]

Hollo를 소개합니다!

Hollo는 개인을 위한 연합형 마이크로블로그 소프트웨어입니다. FedifyBun으로 만들어졌으며, 프로토콜을 통해 다른 인스턴스 및 서비스와 교류할 수 있습니다.

Hollo의 특징은 한 사용자를 위해 설계된 전용 인스턴스라는 점입니다. 이를 통해 사용자는 자신만의 공간을 가지면서도 , 및 기타 ActivityPub 지원 서비스의 사용자들과 소통할 수 있습니다.

독자적인 웹 인터페이스는 없지만, Mastodon API와 호환되어 기존의 많은 Mastodon 클라이언트 앱을 사용하여 Hollo에 접근할 수 있습니다. 이로 인해 익숙한 인터페이스로 Hollo를 이용할 수 있습니다.

주요 기능으로는 게시물 작성·편집·삭제, 답글, 미디어 첨부, 투표, 좋아요, 북마크, 고정 등이 있습니다. 또한 프로필 편집, 팔로우/팔로워 관리, 리스트 생성 등도 가능합니다. 더불어 Markdown을 지원하여 게시물이나 프로필의 서식 설정을 쉽게 할 수 있습니다.

Hollo는 현재 개발 초기 단계에 있으며, 지속적으로 기능 추가와 개선이 이루어지고 있습니다. Bun을 사용함으로써 빠른 성능과 효율적인 개발이 이뤄지고 있답니다. 오픈 소스 프로젝트로 GitHub에 공개되어 있으며, 커뮤니티의 기여를 환영합니다.

개인 블로그와 소셜 미디어의 장점을 결합한 Hollo는 프라이버시를 중시하면서도 더 넓은 커뮤니티와의 연결을 원하는 사람들에게 적합한 플랫폼으로 거듭나고 있습니다.

https://github.com/dahlia/hollo

Hollo's avatar
Hollo

@[email protected]

Holloを紹介します!

Holloは、個人向けの連合型マイクロブログソフトウェアです。FedifyBunを基盤に構築され、ActivityPubプロトコルを通じて他のインスタンスやサービスと連携することができます。

Holloの特徴は、一人のユーザーのために設計された専用のインスタンスという点です。これにより、ユーザーは自分だけのスペースを持ちながら、Mastodon、Misskey、その他のActivityPub対応サービスのユーザーとも交流できます。

独自のウェブインターフェースを持たない代わりに、MastodonのAPIと互換性があるため、既存の多くのMastodonクライアントアプリを使用してHolloにアクセスできます。これにより、使い慣れたインターフェースでHolloを利用することができます。

主な機能には、投稿の作成・編集・削除、返信、メディア添付、投票、お気に入り、ブックマーク、ピン留めなどがあります。また、プロフィール編集、フォロー/フォロワー管理、リスト作成なども可能です。さらに、Markdownをサポートしているため、投稿やプロフィールの書式設定が容易に行えます。

Holloは現在開発の初期段階にあり、継続的に機能の追加や改善が行われています。Bunを使用することで、高速なパフォーマンスと効率的な開発が実現されています。オープンソースプロジェクトとして、GitHubで公開されており、コミュニティからの貢献を歓迎しています。

個人のブログとソーシャルメディアの利点を組み合わせたHolloは、プライバシーを重視しながら、より広いコミュニティとのつながりを求める人々に適したプラットフォームとなっています。

https://github.com/dahlia/hollo

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

Did you know? not only fully supports .js, but also and !

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

この記事を読むと、自分もHolloでBunの代わりにNode.jsを使うべきなのかなーと。

gihyo.jp/article/2024/08/missk

.js

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

is a logging library for and . 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: .js, , , edge functions, and browsers
• Structured logging
• Logger categories (names) are hierarchical
• Dead simple sink (destination) interface

logtape.org/

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

I'm unsure whether to adopt an emerging JavaScript runtime like or for 's tutorial, or stick with traditional .js. 🤔

If I choose Bun/Deno, it comes with built-in 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.

OptionVoters
Bun0 (0%)
Deno0 (0%)
Node.js0 (0%)
洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

I wish the API would be built into .js and as well.

tc39.es/proposal-temporal/docs

wraptile's avatar
wraptile

@[email protected]

and people are putting an incredible amount of work modernizing server side js.

The energy is reminding me of early day - so many new tools made with proper care behind rather than most of NodeJS ecosystem which is just glued together with band-aids and staples :blobcatgrimacing:

That being said, after working with Deno for the past week it still feels a bit too bleeding edge though it does work with !

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

The fedify command is now available on ! You can install it using the following command:

npm install -g @fedify/cli

Or if you use :

bun install -g @fedify/cli

https://www.npmjs.com/package/@fedify/cli

洪 民憙 (Hong Minhee) 🤏🏼's avatar
洪 民憙 (Hong Minhee) 🤏🏼

@[email protected]

is a logging library for and . 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: .js, , , edge functions, and browsers
• Structured logging
• Logger categories (names) are hierarchical
• Dead simple sink (destination) interface

github.com/dahlia/logtape

Screenshot: log messages printed out on the terminal
Screenshot: log messages printed out on the terminal
Screenshot: log messages printed out on web browser's console
Screenshot: log messages printed out on web browser's console
洪 民憙 (Hong Minhee) 🤏🏼's avatar
洪 民憙 (Hong Minhee) 🤏🏼

@[email protected]

is an server framework in & . 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)
client and server
• HTTP Signatures
• Middleware for handling webhooks
protocol
.js, , and 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:

fedify.dev/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

has supported optional queuing for outgoing activities, with two built-in message queue backends: InProcessMessageQueue, which is suitable for development, and DenoKvMessageQueue, which is only available in Deno.

Fedify has also had two built-in cache backends, MemoryKvStore, which is suitable for development, and DenoKvStore, which is only available in Deno.

Now, however, by installing the @fedify/redis package, you can use as both a message queue backend and a cache backend! Unlike DenoKvMessageQueue and DenoKvStore, it's also available for .js and .

This feature was made possible with the support of @ghost.

https://github.com/dahlia/fedify-redis

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@[email protected]

Fedify is an server framework in & . 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 website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected] · Reply to 洪 民憙 (Hong Minhee)'s post

As it turns out, the issue was neither on 's end nor 's end. It was a issue that I discovered during Hollo development, and anyway it's now fixed!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

Found a memory leak (on ) in recent commits of —be careful when using the unstable versions.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@[email protected]

I usually prefer to Node.js, but while working on , I tried and I found it quite good.

Hollo's avatar
Hollo

@[email protected]

Introducing . Hollo is an -enabled single-user microblogging software. Although it's for a single user, it also supports creating and running multiple accounts for different topics.

It's headless, meaning you can use existing client apps instead, with its Mastodon-compatible APIs. It has most feature parity with Mastodon. Two big differences with Mastodon is that you can use in the content of your posts and you can quote another post.

Oh, and Hollo is built using and .

https://github.com/dahlia/hollo