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.

Say you have a large 'before' array, and an 'after' array where the elements have identity but aren't otherwise sorted or anything and need to determine where insertions happened (presumably a much smaller number of them, no reorders, no deletions). Is there a name for this collection operation? Is there a better way than this binary-search-inspired O(log(N) * M) N=original, M=insertions approach?

func findInsertions<T: Equatable>(old: ArraySlice<T>, new: ArraySlice<T>) -> [Int] {
    print("old: \(old) new: \(new)")
    let last = old.count-1
    let lastOld = old.startIndex + last
    let lastNew = new.startIndex + last

    guard old[lastOld] != new[lastNew] else { return [] }
    if last == 0 { return [new.startIndex] }

    let middle = old.count/2
    let oldMidIndex = old.startIndex + middle
    let newMidIndex = new.startIndex + middle

    let firstHalf = findInsertions(old: old[..<oldMidIndex], new: new)
    let secondHalf = findInsertions(old: old[oldMidIndex...], new: new[(newMidIndex + firstHalf.count)...])
    return firstHalf + secondHalf
}

func findInsertions<T: Equatable>(old: [T], new: [T]) -> [Int] {
    let result = findInsertions(old: old[...], new: new[...])
    let leftoverIndex = result.count + old.count
    let leftover = new[leftoverIndex...].enumerated().map { leftoverIndex + $0.offset }
    return result + leftover
}
0
0
0
0
0
0

January 2024: Reminder: it's against company policy to use non-approved applications, including AI code-generation tools.

July 2025: You haven't used CoPilot even once. Lists of non-adopters are being shared with managers and senior leaders.

0

I'll be speaking at the NYC DataFusion meetup in September on geospatial support for DataFusion! lu.ma/qkcyycg0

DataFusion is a Rust-based query engine for building fast OLAP data processing systems. Compared to DuckDB, DataFusion is more modular and is designed to be embedded in larger systems.

0
0
0
0
0
0
0

News: FediForum is partnering with free software conference SFSCON on a Fediverse track (and more!) at their in-person conference in November, in beautiful Bolzano in the Italian alps.

Want to present or demo? Let us know. More info:
fediforum.org/news/2025-07-09-

0
0
0

Here's a neat analysis of a subtle OpenZFS bug by @robnRob 💚.

despairlabs.com/blog/posts/202

I love reading thoughtful analyses of bugs and the factors that produced them. Nowadays I usually arrive somewhat resigned, and expecting a "zeroth order" C bug -- something like bad pointering or failure to initialize a variable.

This is more of a "second order" C bug, and the author goes through the potential tradeoffs and rightfully points out that the answer is not "git gud." I'll put my thoughts on the bug in a reply so as not to spoil it for you.

Anyway, it's a good short read.

0
0
0
0
0
0

The temperature has changed these past few days, and it's much more pleasant. However, I must have caught a draft because this morning I woke up with a stiff neck and a sore upper back muscle. It's better tonight, but moving servers and driving wasn't as easy as usual.

0

RSS feed subscription regrets:

Add Wired for political coverage. Get: 15 headlines a day on "Great Amazon Prime deals".

Add Consequence for music news. Get: 5 headlines a day about every time Ozzy Osbourne farts.

(You may be surprised to learn that Ozzy Osbourne is still alive.)

0

So Bluesky is about to require people to verify their age, which means sharing their real identity. I’ve no problem with people knowing my identity but then I’m not trying to hide from abusers. Or explore my gender. Or be a whistleblower. Or protest without getting arrested. Or or or… there are so many reasons people need anonymity.

Despite being myself online I am not keen to show Bluesky my scanned face or my bank card. So I guess I won’t be sticking around there.

I gave my advice before I left, which was “Switch to Mastodon, nobody there cares who you are, as long as you’re funny.”

0
0
0
0

Study: When experienced open-source developers used current AI tools, work took 19% longer to complete. In spite of which, the developers *thought* they were working *faster.*

It’s just one study, and they don’t claim anything beyond what they observed. Their results are not predictive. Still....

(There must be a name for the psychological trick we play on ourselves to believe we’re being more productive even when we’re considerably less so.)

Hat tip: Dave Martin

metr.org/blog/2025-07-10-early

0
0
0
0
0
0
0
0
0
0

A question for #Fediverse devs: I’m thinking about better ways to document development of the #ActivityPub stack. This would include explanations, demo code, example snippets, and various sections explaining how to build a fully working Fediverse server, with consideration for all of the FEP documents as well.

What do you, as a developer, feel is currently missing? What information would make your life a lot easier?

0
0
0
0
1
0
0
0
0

As of October 1st, school libraries in Alberta must remove books with sexually explicit content from their shelves. Among other things, Toronto Star reports that the new rules mean "Students in Grade 9 and younger will not be allowed to read about puberty, menstruation and breastfeeding."

Puberty? Menstruation? Breastfeeding?

Some kids in grade 9 are already in puberty and already menstruating. Most were breastfed.

WT absolute F?

thestar.com/news/canada/albert

0
1
0
0

개인적으로 TSLA는 위험도가 너무 증가한 주식으로 판단하는데, 그럼에도 사람들이 열성적으로 이 회사의 주식을 사는 것을 보면 저기에 투자하는 사람들에게 TSLA는 일종의 오컬트 같아 보입니다.
個人的には、TSLAはリスクが過度に高まった株式だと判断しています。しかし、それでも人々が熱狂的にこの会社の株式を購入しているのを見ると、TSLAに投資している人々にとって、それは一種のオカルトのような存在に見えます。

1
1

Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity: metr.org/blog/2025-07-10-early

METR ran a controlled experiment with 16 experienced open-source developers on 246 programming tasks. The developers predicted that the use of AI would speed up their work by 25%, and after the experiment judged that it had sped it up by 20%. But when actually measured, the use of AI slowed down their work by 19%.

0

Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity: metr.org/blog/2025-07-10-early

METR ran a controlled experiment with 16 experienced open-source developers on 246 programming tasks. The developers predicted that the use of AI would speed up their work by 25%, and after the experiment judged that it had sped it up by 20%. But when actually measured, the use of AI slowed down their work by 19%.

0

It makes me laugh/cry that we spent decades trying to get the software industry to internalise that it takes far more effort to support & maintain systems than it does to write them in the first place, and yet seemingly every trendy development in the last 5-10 years has been about making that initial stage faster & sloppier at the expense of everything else

0
0
0
0

Study: When experienced open-source developers used current AI tools, work took 19% longer to complete. In spite of which, the developers *thought* they were working *faster.*

It’s just one study, and they don’t claim anything beyond what they observed. Their results are not predictive. Still....

(There must be a name for the psychological trick we play on ourselves to believe we’re being more productive even when we’re considerably less so.)

Hat tip: Dave Martin

metr.org/blog/2025-07-10-early

0
0
0
0
1

I can’t know definitively yet…I have to babysit my server and keep an eye on logs. But, I think I may have found the culprit for why I get timeout issues with #ActivityPub and #WordPress.

It might be PHP-FPM. If you’re using Nginx, this is kind of a “glue layer” for making PHP stuff talk to Nginx.

I host most things with Nginx, which sometimes requires configuring workarounds with traditional PHP applications. I was digging around in my logs during the latest server slowdown, and I got some error messages about pm.max_children and pm.start_servers being way too low.

Anyway, raising the amount seems to be helping? More word on this as experiments continue.

0
0
0

よっこいし :saba:

c442589593 (upstream/main) Use `ActiveModel::Attributes` in `FollowLimitable` concern (#35327)
28633a504a chore(deps): update dependency json-schema to v5.2.1 (#35337)
ad78701b6f Mark `private` methods in `AnnualReport::TopStatuses` (#35256)
1496488771 Add `Status#not_replying_to_account` scope for annual report classes (#35257)
dd3d958e75 fix(deps): update dependency core-js to v3.44.0 (#35284)
b363a3651d New Crowdin Translations (automated) (#35335)
86645fc14c chore(deps): update dependency rubocop to v1.78.0 (#35289)
f9beecb343 Improve Accounts CLI `prune` spec (#35302)
4ecfbd3920 Add `Status.only_polls` (and without polls) scope (#35330)
a315934314 Fix styling of external log-in button (#35320)

0
1

What does it really take to fund and execute a successful security audit in open source?

In this newly released talk from the Open Source Summit North America, FreeBSD Foundation Executive Director Deb Goodkin and Alpha-Omega’s Michael Winser walk through the full lifecycle of FreeBSD’s third-party audit—from funding and planning to outcomes and lessons learned.

Watch the full talk here:
👉 youtube.com/watch?v=B7_0aKMs6zs

0
1