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
2
1

julian shared the below article:

NodeBB v4.9.0 — A Whole New /world!

julian @julian@community.nodebb.org

<p>Hello all!</p> <p>(Sorry, I could not resist with the title :laughing:)</p> <p>Today we are releasing NodeBB v4.9.0, on a Friday, toward the end of the day, because we like having our weekends ruined.</p> <p>As usual, we recommend you update to this stable version of NodeBB, not least because it fixes a federation issue accidentally introduced last month.</p> <p>There are a bunch of new features and usability improvements here, for both end users and admins. Federation improvements abound, as well as a few moderation upgrades. As usual, we fixed a ton of bugs, and even a couple open issues from the 2010s :scream:</p> <p>Here is a list of the changes and new features you should expect to see! [...]</p>

Read more →
0
0
8
0
0
1
With Fedify & Claude code it took me just 1 few hours to develop a indiekit plugin to exist on the Fediverse with @rick@rmendes.net I spent more time on creating the AP reader to consume data from the Fediverse than anything else that's for sure! Thanks for your absolutely amazing foundational work with Fedify!
1
0
0
0
1
0
0

my team at apple (the Swift performance team) is hiring another engineer! we work on the SIL IR, SIL and LLVM optimization passes for Swift, and language features supporting systems and high-performance programming in Swift. the position is in-person but could be in Cupertino or London jobs.apple.com/en-us/details/2

0
3
0
0
0
0
0
0
3
0

When I first started working with , before existed, it felt like writing web apps in Perl and CGI in the late '90s. Interesting, even exciting—but never comfortable. That era where your business logic and your protocol plumbing were just… the same thing:

print "HTTP/1.1 200 OK"
print "Content-Type: text/html"
print
print "Hello, world!"

Decades of web development have given us layers of abstraction we now take for granted. Nobody hand-parses application/x-www-form-urlencoded query strings anymore. Nobody writes their own JSON codec, or manually constructs HTTP request/response messages. These things just aren't your problem when you're building an app.

ActivityPub development still feels like they are your problem. What do you do when the https://www.w3.org/ns/activitystreams#actor property comes in as a string instead of an array? What about when https://www.w3.org/ns/activitystreams#object is an embedded entity rather than a URI? How exactly do you implement HTTP Signatures? And wait—what's Linked Data Signatures, and do you need that too?

The real issue isn't that ActivityPub is complicated per se. It's that you can't get away with understanding it at a high level. You have to know it the way an implementor knows it—every edge case, every inconsistency in how different servers serialize JSON-LD, every signature scheme that exists in the wild. That's a lot to learn before you can even start thinking about your actual app. And when developers understandably cut corners on the protocol to focus on their product, it quietly becomes an interoperability problem for the whole ecosystem.

What I want ActivityPub development to feel like: you spend a day understanding the big picture, and then you just… build your app. That was the goal when I started Fedify, and honestly, we're not fully there yet. But it's where I want to get.

0
6
0
0
0

my team at apple (the Swift performance team) is hiring another engineer! we work on the SIL IR, SIL and LLVM optimization passes for Swift, and language features supporting systems and high-performance programming in Swift. the position is in-person but could be in Cupertino or London jobs.apple.com/en-us/details/2

0
3
0

ko-fi.com/clarusplusplus

29%

I really don't like asking, but things are getting extremely tight for my wife and me while I continue pitching Enigma Heart to publishers and looking for a backup job at the same time. (Luck hasn't been so great on that front.) We're close to running out of savings, and rent and food are coming due.

If you can help, and you've got a few dollars to spare, it'd really help keep us afloat. Thanks! 🩷

0
1
0
0
0
0
0
0
0
0
0

Our robot runs on NixOS. Here is the problem it actually solves.

The EU Cyber Resilience Act makes reproducible builds, long-term support, and verifiable SBOMs a legal requirement.
Our CTRL-OS module runs NVIDIA Jetson on a stock Linux kernel with NixOS. We built a robot on top of it to test real-world integration.
Next: a Security Tracker for vulnerability exposure on Nix-based stacks.
We wrote up the full story on our blog:
cyberus-technology.de/en/artic

0
0
0
0
0
0
0
0
0
0
0

This is the thing, right?

When a _person_ does something absolutely inane and I call them on it, they will eventually stop doing the inane thing.

I worked with this guy a while back. He was junior, I was the tech lead on the project. I set the coding standards for it and he didn't like what I picked because it required a lot of work up front. It required docs on public methods, it required fairly high test coverage targets (both branch and instruction), it required following specific naming conventions and programming standards. I often would tell him to make his commits smaller.

No smaller than that.

Smaller still.

You couldn't just turn your brain off.

He fought me every step of the way, but eventually:

He learned and what's more, he began to internalize why I was doing it the way that I did.

Code reviews started flying by. It became _easy_.

AIs, even the really good ones, don't learn from this sort of process. Oh sure they have _memory_, but it is itself unreliable and subject to the same context window restrictions as everything else. They are by their nature ephemeral.

So there's a lot less incentive in me giving it a thorough review.

Unless it is my agent and my project.

0
0
0
0
0