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
0
0
0
0
0
0
0
0
0
0
0
0

Holy shit.

Just wow, wow, holy shit:

Completely rewriting a multi-million line COBOL codebase that has life-or-death consequences for real people in the space of a few months, using gen AI?

I’ve been writing software for 40-some years, and I have to say: this may be, without exaggeration, the stupidest software-related idea I’ve ever heard from leadership.

wired.com/story/doge-rebuild-s

0
0
0

It’s actually kinda sad that my response to seeing something dumb happening in the nix world is mostly becoming “why bother” it’s a waste of energy to try and fix things… I used to give so much of a shit…

0
0

ANTI-CAPITALIST AFFIRMATIONS

- i deserve to spend time doing things that make me feel good and whole.

- i am capable of listening to my body and responding to what it needs.

- it's okay if i no longer have ambitions for a career.

- i am worth so much more than what i produce for the consumption of others.

- it's okay to redefine what a successful life looks like for me.

- i am allowed to enjoy things simply because they bring me joy.

- spending time doing something I love is enough

0
0
0
0
0

You can hardly find a studio the works of which are so thoughtful, kind, and intentional as Studio Ghibli. To stripmine that for its aesthetics, to take a piece of cardboard and paint it like food and say "See, doesn't this taste just as good?" is more than missing the point, it's barbaric, dystopian. It's an insult to life itself.

0
0
0
0
0
0

I noticed that the "Fedivers Reactions" Blog from Activity Pub Plugin loads the user avatars uncompressed.

There are quite big filesizes like 221kb for an avatar. The more people like a blogpost, the more Co2 it will emit. :blobcatcoffee:

I opened a support thread about it: wordpress.org/support/topic/fe

0
0

Imperial war

In the current aggressive imperialism of the US, some Americans online insist that they don't approve of war and shouldn't be lumped in with the Americans who are banging the drums for war.

It's not the job of Canadians, Kalaallit (Greenlanders), Panamanians or Gazans to make you feel better and absolve you personally of complicity in potential invasions. We have other things to do.

It's *your* job to make sure the wars don't happen. Stopping wars is hard; you need to start now.

0
8
0
0
0
0

running stuff

relative effort / “fitness” seems to give different ideas about the most efficient form of training. Relative effort (which in this case is based on heart rate), indicates that it’s more efficient for me to do harder runs and then accept recovery time, fitness (based on load/effort in some sort of impulse-response model, I don’t really get it) seems to indicate 25% more return from avoiding runs that takes more than a day of recovery, specifically half marathon with recovery gives a net 8 point increase, a similar period with minimal recovery gives 10…

I think recovery is super boring thou, so that’s probably the best thing to optimize away.

graph of "cardio load", with long runs labeled, showing the recovery period after a half-marathon, versus the more consistent 15k's with other runs in betweenA graph of relative effort, showing how the half-marathon seems more significant, despite the extended recoveryfitness graph, showing that less recovery seems to build more fitness
0
0

お題「⚡
🌆🌆🌆🌆🌆🌆🌆🌆:hatena_nizi::blobcat_siwasiwacart:
:blobcat_siwasiwacart::blank::blank:
:blobcat_drive:

:blank:​​:blank:​​:blank:​​:blank:​​:blank:​​:blank:​​:blank:​​:blank:

:yoshigoilong::mimissori_gold::meow_ghostreach::chikuwa_missile::iremono:

設定→全般→ノートの表示→動くMFMを有効
めちゃ時間掛かって​:daichikokusuman:

0
0

We’ve had growing crowds every week at the MSP in Golden Valley, MN: 100-some, then 200-some, then ~350–380…. This weekend is supposed to be a really big one worldwide — every dealership, big crowds, really get some attention — but tomorrow’s weather forecast in MN looks kind of dismal.

I worry…but then I know we’re not so easily deterred. Let’s show them how it gets done here in Minnesota.

There are 4 Minnesota locations to protest, and many more worldwide. Find them here, and please show up if you can! teslatakedown.com

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

Every Flop Counts: Scaling a 300B LLM Without Premium GPUs

Link: arxiv.org/abs/2503.05139
Discussion: news.ycombinator.com/item?id=4

arXiv logo

Every FLOP Counts: Scaling a 300B Mixture-of-Experts LING LLM without Premium GPUs

In this technical report, we tackle the challenges of training large-scale Mixture of Experts (MoE) models, focusing on overcoming cost inefficiency and resource limitations prevalent in such systems. To address these issues, we present two differently sized MoE large language models (LLMs), namely Ling-Lite and Ling-Plus (referred to as "Bailing" in Chinese, spelled Bǎilíng in Pinyin). Ling-Lite contains 16.8 billion parameters with 2.75 billion activated parameters, while Ling-Plus boasts 290 billion parameters with 28.8 billion activated parameters. Both models exhibit comparable performance to leading industry benchmarks. This report offers actionable insights to improve the efficiency and accessibility of AI development in resource-constrained settings, promoting more scalable and sustainable technologies. Specifically, to reduce training costs for large-scale MoE models, we propose innovative methods for (1) optimization of model architecture and training processes, (2) refinement of training anomaly handling, and (3) enhancement of model evaluation efficiency. Additionally, leveraging high-quality data generated from knowledge graphs, our models demonstrate superior capabilities in tool use compared to other models. Ultimately, our experimental findings demonstrate that a 300B MoE LLM can be effectively trained on lower-performance devices while achieving comparable performance to models of a similar scale, including dense and MoE models. Compared to high-performance devices, utilizing a lower-specification hardware system during the pre-training phase demonstrates significant cost savings, reducing computing costs by approximately 20%. The models can be accessed at https://huggingface.co/inclusionAI.

arxiv.org · arXiv.org

0
0
0
0
0
0
0

Presenting myself: Comp Sci bachelor in 2018, then Scala dev. Then dev. mostly on , both contrib and 3rd party contracting. Culminating with my presentation of compressed datastructures at 2024 Zurich.

Today, honestly, I've no idea who I am or what I do. Trying to find a place in the world where I can have a positive impact.

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