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.

watched a couple friends finish Split Fiction last night and that game is *rancid*. Ideologically destitute, miles up its own ass, ironically devoid of any original ideas. My dislike of Josef Fares has never felt more vindicated

0
0
0
0

Pokud vás zajímá IT bezpečnost a hlavně objevené zranitelnosti, mohu doporučit sledovat náš účet CESNET-CERTS mastodonczech.cz/@cesnet_certs, kde mí kolegové každý všední den zveřejňují analýzy toho nejzajímavějšího, co se urodilo.

0
0

lets say someone made an OSHW touch device running linux that's intended to fit in your pant/dress/jacket/handbag pocket. what would be the maximum display size (diagonal, inches) you would tolerate? bonus if you like rabbitholes like this: maximum thickness and weight?

0
0
0
0

社群平台上有網友指出,這棟大樓是泰國國家審計局,承建單位是中國公司「中鐵十局」。

(如果已經建好了,裡頭都是公務人員的話,後果不堪設想....真的請鬼開藥單.. )

news.ltn.com.tw/news/world/bre

0
0
0
0
0
0
0
0

We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:

Two-Stage Fan-out Architecture for Efficient Activity Delivery

now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.

This architectural improvement delivers several benefits: Context.sendActivity() returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.

For specific requirements, we've added a new fanout option with three settings:

// Configuring fan-out behavior
await ctx.sendActivity(
  { identifier: "alice" },
  recipients,
  activity,
  { fanout: "auto" }  // Default: automatic based on recipient count
  // Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);

Canonical Origin Support for Multi-Domain Setups

You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and URIs, configured through the new origin option in createFederation(). This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.

const federation = createFederation({
  // Use example.com for handles but ap.example.com for ActivityPub URIs
  origin: {
    handleHost: "example.com",
    webOrigin: "https://ap.example.com",
  },
  // Other options...
});

Optional Followers Collection Synchronization

Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.

await ctx.sendActivity(
  { identifier: sender },
  "followers",
  activity,
  { 
    preferSharedInbox: true,
    syncCollection: true,  // Explicitly enable collection synchronization
  }
);

Enhanced Key Format Compatibility

Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1() and importPem() functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.

Improved Key Selection Logic

The key selection process is now more intelligent. The fetchKey() function can now select the public key of an actor if keyId has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.

New Authorization Options

Authorization handling has been enhanced with new options for the RequestContext.getSignedKey() and getSignedKeyOwner() methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.

Efficient Bulk Message Queueing

Message queue performance is improved with bulk operations. We've added an optional enqueueMany() method to the MessageQueue interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:

If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.

CLI Improvements

The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install from JSR.

Additional Improvements and Bug Fixes

  • Updated dependencies, including @js-temporal/polyfill to 0.5.0 for Node.js and Bun
  • Fixed bundler errors with uri-template-router on Rollup
  • Improved error handling and logging for document loader when KV store operations fail
  • Added more log messages using the LogTape library
  • Internalized the multibase package for better maintenance and compatibility

For the complete list of changes, please refer to the changelog.

To update to Fedify 1.5.0, run:

# For Deno
deno add jsr:@fedify/fedify@1.5.0

# For npm
npm  add     @fedify/fedify@1.5.0

# For Bun
bun  add     @fedify/fedify@1.5.0

Thank you to all contributors who helped make this release possible!

0
0
0
0
0
0
0
0
0
0
0

They can be over engineered at times (or spread across too many documents) but they're generally well thought out and clear

IETF specs tend to be less over engineered, not always for the better. They can sometimes be vague

ETSI is a complexity rabbit hole.
W3C are all over the place and so many of their specs are gigantic monsters these days.
OASIS is... I hope you like Enterprise XML.
ISO is ok but they're behind a paywall.
0
0
0
0

Another sad day in Bangkok. My family and I are safe, but many people were trapped under the collapsed construction site, and many had to walk over 30 km home due to the lack of transportation. Many high-rise buildings, poorly built yet home to so many, are now at risk. They say the aftershock is coming. I feel sad, yet fully awake. Once again, Bangkok never makes me feel safe.

0

https://youtu.be/aL-5ufrNmEQ?si=GXGXmELoLcHK32rv

확실히 카메라 인체공학이랑 조작계는 캐논이 잘함. 그냥 쥐어보면 느낌이 다름. 니콘, 파나도 나름 잘 하는데 모 회사 덕?에 그 격차가 더 크게 느껴지는... 😓

  • 최마태씨는 광고 영상 만들 때 주어진 홍보 내용 다 집어 넣으면서도 짚을 점은 짚고 자기가 카메라 좋아하고 잘 논다는 게 느껴져서, 내가 광고주라도 일 맡기고 싶은 유튜버. 그 균형을 정말 잘 잡음.
0

4월 상반기의 피크민 블룸 온기파티를 열었습니다!
연합우주인이면 누구나 환영입니다. 적게 걸으시는 분들도 대환영! 달성 미션이 아니라 그저 온기용 파티일 뿐이니 아무런 부담없이 참여해주세요!

(*아이폰 유저분들은 카메라 큐알코드로 입장이 안되고 스토어로 이동되실 수도 있습니다. 그럴 땐 이미지 파일 저장 후 갤러리에서 길게 눌러 링크 입장도 가능합니다.)

Pikmin Bloom에서 우리 함께 산책해요! pikminbloom.onelink.me/pWSt/70

0
0
0
0
0
0

, the 's leader doesn't think much of you at all,

"I've already had a security clearance, because I was a cabinet minister; so I've already been cleared."

Except I'd wager the Lucky knows as well as you or I that security clearances are not 'one and done'. So his clearance under completely different circumstances for utterly different reasons a DECADE AGO does not still stand, no matter how many times he lies those words to your faces.

cbc.ca/player/play/video/9.669

0
0
0
0
0
0
0

드디어 Bartosz Milewski의 Category Theory 강의를 챕터 2까지 끝냈다. 몇년 걸렸지... 중간에 정체된 기간이 꽤 길었는데, 야식 먹을때 죄책감을 달래는 용도로 틀어놓았더니 진도를 빨리 뺄수 있었다.

0
0
0
0
0

We’re excited to announce that, from Monday, we’re going to be the new admins of IndieWeb.social!

We’ve always loved how @tchambersTim Chambers has run IndieWeb.social. His direction has made it one of the best instances on the Fediverse!

Thanks to Tim for his trust in us to provide a safe and secure home for the server into the future.

Tim’s Blog Post 🔗 timothychambers.net/2025/03/27

FAQs 🔗 newsmastfoundation.org/faqs/

The IndieWeb.social logo on a background of stars. Below it: "Administered by Newsmast Foundation".
0
0
0
0
0
0
0