What is Hackers' Pub?

Hackers' Pub is a place for software engineers to share their knowledge and experience with each other. It's also an ActivityPub-enabled social network, so you can follow your favorite hackers in the fediverse and get their latest posts in your feed.

0
1
1
3
1
0
1
0

We're thrilled to highlight five outstanding contributions from the Korean Open Source Contribution Academy () program participants who have been working on ! Their dedication and effort have significantly enhanced our server framework.

First up is @nyeongAn Nyeong (安寧) with his monumental #318 PR, implementing a SQLite-based key–value store to address #274. This contribution adds the SqliteKvStore class with full cross-runtime support for Node.js, Deno, and Bun through the new @fedify/sqlite package. His implementation includes atomic operations, TTL support, comprehensive test coverage, and careful attention to SQL injection prevention. This enables developers to use SQLite as a persistent storage backend while maintaining compatibility with Fedify's existing KvStore API—a crucial feature for production deployments!

Next, @crohasang크롸상 delivered an excellent quality-of-life improvement with #341 PR, fixing #257. He enhanced the CLI to properly respect TTY status and the NO_COLOR environment variable, implementing intelligent color control across all CLI commands. The solution involved switching from @cliffy/ansi/colors to @std/fmt/colors, creating a helper function using Deno.inspect() to handle object formatting, and ensuring colors are correctly disabled when output is redirected to files. This makes the CLI much more pipe-friendly and suitable for automated workflows!

@meneleHanal Ae contributed a thoughtful enhancement with #342 PR, addressing #191. She updated the fedify inbox command to display not just the activity type, but also the type of object contained within each activity—transforming output like "Create" into the more informative "Create(Note)" or "Undo" into "Undo(Follow)". This seemingly simple change required making the display function asynchronous to fetch the enclosed objects, significantly improving the debugging experience for developers!

@woaol tackled an important developer experience issue with #329 PR, solving #306. Previously, the fedify init command would often install outdated versions of Fedify packages like @fedify/redis because version numbers were hardcoded in the CLI. They created a getLatestVersion() function that dynamically retrieves package versions from local metadata files, ensuring that developers always get the latest versions of all Fedify packages when initializing a new project. This improvement includes comprehensive test coverage and eliminates the frustration of starting a project with outdated dependencies!

Finally, @kodingwarriorJaeyeol Lee made a significant contribution with #309 PR, implementing #269—NestJS integration! They created the @fedify/nestjs package with a FedifyModule that seamlessly integrates Fedify into NestJS applications. This includes proper middleware implementation, dependency injection support through NestJS's module system, and compatibility with both CommonJS and ESM environments. This opens up Fedify to the large NestJS developer community, making it easier than ever to build ActivityPub-enabled applications with this popular enterprise framework!

These contributions showcase the incredible talent and dedication of the OSSCA participants. From core infrastructure improvements to developer experience enhancements, each contribution makes Fedify better for the entire community. Thank you all for your hard work and welcome to the Fedify contributor family! 🚀

We're looking forward to seeing more amazing contributions from the OSSCA program and the broader community. If you're interested in contributing to Fedify, check out our GitHub repository and join us in building the future of federated social web! 🌟

5
0
1
1

We're thrilled to highlight five outstanding contributions from the Korean Open Source Contribution Academy () program participants who have been working on ! Their dedication and effort have significantly enhanced our server framework.

First up is @nyeongAn Nyeong (安寧) with his monumental #318 PR, implementing a SQLite-based key–value store to address #274. This contribution adds the SqliteKvStore class with full cross-runtime support for Node.js, Deno, and Bun through the new @fedify/sqlite package. His implementation includes atomic operations, TTL support, comprehensive test coverage, and careful attention to SQL injection prevention. This enables developers to use SQLite as a persistent storage backend while maintaining compatibility with Fedify's existing KvStore API—a crucial feature for production deployments!

Next, @crohasang크롸상 delivered an excellent quality-of-life improvement with #341 PR, fixing #257. He enhanced the CLI to properly respect TTY status and the NO_COLOR environment variable, implementing intelligent color control across all CLI commands. The solution involved switching from @cliffy/ansi/colors to @std/fmt/colors, creating a helper function using Deno.inspect() to handle object formatting, and ensuring colors are correctly disabled when output is redirected to files. This makes the CLI much more pipe-friendly and suitable for automated workflows!

@meneleHanal Ae contributed a thoughtful enhancement with #342 PR, addressing #191. She updated the fedify inbox command to display not just the activity type, but also the type of object contained within each activity—transforming output like "Create" into the more informative "Create(Note)" or "Undo" into "Undo(Follow)". This seemingly simple change required making the display function asynchronous to fetch the enclosed objects, significantly improving the debugging experience for developers!

@woaol tackled an important developer experience issue with #329 PR, solving #306. Previously, the fedify init command would often install outdated versions of Fedify packages like @fedify/redis because version numbers were hardcoded in the CLI. They created a getLatestVersion() function that dynamically retrieves package versions from local metadata files, ensuring that developers always get the latest versions of all Fedify packages when initializing a new project. This improvement includes comprehensive test coverage and eliminates the frustration of starting a project with outdated dependencies!

Finally, @kodingwarriorJaeyeol Lee made a significant contribution with #309 PR, implementing #269—NestJS integration! They created the @fedify/nestjs package with a FedifyModule that seamlessly integrates Fedify into NestJS applications. This includes proper middleware implementation, dependency injection support through NestJS's module system, and compatibility with both CommonJS and ESM environments. This opens up Fedify to the large NestJS developer community, making it easier than ever to build ActivityPub-enabled applications with this popular enterprise framework!

These contributions showcase the incredible talent and dedication of the OSSCA participants. From core infrastructure improvements to developer experience enhancements, each contribution makes Fedify better for the entire community. Thank you all for your hard work and welcome to the Fedify contributor family! 🚀

We're looking forward to seeing more amazing contributions from the OSSCA program and the broader community. If you're interested in contributing to Fedify, check out our GitHub repository and join us in building the future of federated social web! 🌟

5
0
1
0
0
0
0
0
0
0
0

For the next two days, you can unlock 13 amazing adult games for free as part of GOG's Freedom To Buy campaign. Included in the lineup is House Party, a game I star in!

I am incredibly honored to stand alongside GOG, Eek Games, and so many other bold, creative voices in adult gaming fighting for free expression.

Participate in this campaign, boost this post, and help push back against the threat MasterCard and Visa pose to our civil liberties.

Credit card content cops can't control culture. Not now, not ever.

freedomtobuy.games

Image with the text “CENSORSHIP IS QUIETLY DECIDING WHICH GAMES YOU CAN BUY. We are fighting back.” over a purple pixelated background. Image sourced from @GOGcom@x.com.
0
0
0
0
1
1
0
0
0
0
0

it is very logistically difficult to come home to Odin after I've been away long enough that he gets worried. I've been home for 20 minutes and he is still randomly throwing himself at me like a whale trying to sink a billionaire's yacht

0
0
0
2
0
0
0
0

I promised you an international bread tier list. It's finally time.

1st: Germany. We have 600 varieties of it. Most are delicious. We basically invented it. Also: Rye.
2nd to 10th: Still Germany. Sorry, we have too much good stuff.
11th: Turkey and the Balkans. Flatbread is their forte, Simit are divine.
12th: Italy and France. Never made it past white bread. But at least that is good.
13th to 26th: Still Italy and France.
27th: Japan. Has 1 style of bread: shokupan, which is toast with more calories through milk. Unnecessarily delicious.
28th: Arabian Countries. Saj is good.
29th to whatever: Anglosphere style toast/sandwich bread. Utter atrocities.

0
0
1

I promised you an international bread tier list. It's finally time.

1st: Germany. We have 600 varieties of it. Most are delicious. We basically invented it. Also: Rye.
2nd to 10th: Still Germany. Sorry, we have too much good stuff.
11th: Turkey and the Balkans. Flatbread is their forte, Simit are divine.
12th: Italy and France. Never made it past white bread. But at least that is good.
13th to 26th: Still Italy and France.
27th: Japan. Has 1 style of bread: shokupan, which is toast with more calories through milk. Unnecessarily delicious.
28th: Arabian Countries. Saj is good.
29th to whatever: Anglosphere style toast/sandwich bread. Utter atrocities.

0
0
0

do The Youths these days still know about Pokemon Crystal Vietnamese? So called because it was discovered in a market in Vietnam, it's a romhack translation from Japanese to English (presumably before the real English version released), except it seems to have been made entirely on the basis of a Japanese-to-Chinese dictionary and then a Chinese-to-English dictionary. For example, what's semantically quite close to "insert"...?

(my own screenshots from 2013)

pokemon crystal screenshot reading "IDEA! GREASY BAG FUCK". (Idea is my character's name) pokemon crystal screenshot of police npc saying: "THE COACH LIKE HELL?"pokemon crystal screenshot of npc warning: "MANY WORMS WILL FOLLOW YOU."pokemon crystal screenshot of a battle between two woopers: "WUY HAVE A PILLORY"
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0

do The Youths these days still know about Pokemon Crystal Vietnamese? So called because it was discovered in a market in Vietnam, it's a romhack translation from Japanese to English (presumably before the real English version released), except it seems to have been made entirely on the basis of a Japanese-to-Chinese dictionary and then a Chinese-to-English dictionary. For example, what's semantically quite close to "insert"...?

(my own screenshots from 2013)

pokemon crystal screenshot reading "IDEA! GREASY BAG FUCK". (Idea is my character's name) pokemon crystal screenshot of police npc saying: "THE COACH LIKE HELL?"pokemon crystal screenshot of npc warning: "MANY WORMS WILL FOLLOW YOU."pokemon crystal screenshot of a battle between two woopers: "WUY HAVE A PILLORY"
0
1