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
사실 유럽사를 볼 때마다 지금도 기분이 묘한 것.
1740년대에 시작된 7년 전쟁의 시작점 오스트리아 왕위 계승 전쟁에 동원된 군대가 대략 20만.
1363년 파양호 대전이 양군 합쳐서 60~80만.
1019년 귀주 대첩이 양군 합쳐 25~30만명
208년 적벽에서 20만이 싸웠다.
기원전 260년 장평대전에서 학살된 포로가 45만명이다.
숫자가 너무 이상해...
0

This brings back memories. Before Python had async/await, before asyncio became standard, I was happily writing concurrent code with gevent. I actually preferred it.

The reason was simple: no function color problem. With async/await, you split the world into two kinds of functions—ones that block by default and ones that don't. You have to mark the latter with async and remember to await them. With gevent, everything just blocks by default, and you spawn when you need concurrency. It's the same mental model as multithreading, just lighter. Project Loom in Java does something similar, though the technical details differ.

I sometimes wonder what Python would look like if it had embraced gevent-style coroutines in CPython instead of adding async/await. Or if Stackless Python had been accepted upstream. Maybe async programming would be more approachable today.

The explicit await keyword gives you visibility into where context switches can happen, sure. But in practice, I/O points are obvious even without the keyword—you're reading from a socket, querying a database, making an HTTP request. The explicitness doesn't really prevent race conditions or timing bugs. Meanwhile, function colors infect everything. One async library forces your entire call stack to be async. You end up maintaining both sync and async versions of the same code, or the ecosystem just splits in two.

With gevent, there's no such problem. You just call functions. Spawn them if you want concurrency, call them normally if you don't. Go's goroutines and Project Loom are popular for good reasons—they make concurrency accessible without the cognitive overhead.

Python's choice is history now, and there's no going back. But looking at how things turned out, I can't help but think the more practical path was right there, and we walked past it.

4
0
0
0
0
1
0
0
0

🎉 New episode of Changelog News!

Clawdbot drives Mac Mini sales, Swizec Teller on the future of software engineering being SRE, Daniel Stenberg decided to end curl's bug bounty program, zerobrew takes some of the best ideas from uv and applies them to Homebrew, and Phil Eaton on LLMs and your career.

🔗 changelog.news/178

0
0
0
0
0
0
0

What I'm listening to today: "Teletext Rhythms"

This YouTuber's bio: "I am a terrible but ambitious programmer and procrastinating musician.

In order to avoid finishing music, I decided to write a sequencer for the Nintendo 3DS to keep myself busy."

But I dunno, I think they're doing pretty well. Here's a 20-minute live set (in the sense a DJ set is live) in the Noise Commander prototype running on a 2DS. Good hiphop-aware grooves and some lovely electronic production

youtube.com/watch?v=B2Piwv4H3KM

What I'm listening to today: "Kraftwerk"

Kraftwerk is known for a Specific Sound, their genre-defining electronic work. Did you know before they acquired/learned the electronics they just made prog music? Really good prog music? Florian Schneider's main instrument was the flute? Their first¹ album from 1970 has all the attention to feeling and timbre of electronic music but it's all Instruments and tape. If it sounds like Can that's because they used the same producer.

youtube.com/watch?v=LJkaySROPkQ

0
A gentoo penguin colony on a rocky landscape is in the foreground. In the midground is the sea around Cuverville Island, Antarctica, studded with icebergs. In the background is a wall of ice coming down to the sea.
0
0
0
0
0
0
0
0
0
0
0
0
0

Rant:

I take dance classes a few times a week. I always wear a KF94 mask. I know it isn’t perfect, but those are the ones that fit my face best and, at least from my experience so far, they seem to sufficiently protect me against germs from people who are pre- or a-symptomatic. However: I have the rule that if somebody tells me that they are sick, I leave. Today was such a day. I arrived, talked to someone, and a few minutes into the conversation they volunteered that they are sick, so I got dressed and left again.

I know there’s worse things in the world, but I’m still annoyed. Especially because of the attitude that I get when I explain this. People tell me that I don’t have to apologise for my behaviour. I mean… I wasn’t planning to. So I just say nothing and leave, but it feels really shitty.

I know that people also censor any photos and videos taken at events. As in: if I’m in it, they don’t upload them, because I don’t look “gezellig” enough. I don’t mind that pics and vids of me aren’t shared publicly, but the reason pisses me off.

0

Has Go's all.bash passed on current FreeBSD systems in a default configuration since Go 1.23 or even earlier? I don't know for sure but I suspect not. I get consistent dial_test failures that far back (and I haven't gone further).

Do I know what's going on? No. Do I want to diagnose this? Also no. And if it's been happening this long, is it useful to report it? Meh, I dunno, and I don't know if Go would accept the report anyway.

0
0
0
0
0
0
0
1
0
0
0
0

Hi everyone,

I’m very happy to announce that Aya (@rania40“a Gazan student” aya) will be joining our little team of volunteers at Gaza Verified¹ to help us carry out verification calls.

Aya is in Gaza herself with her family (she’s @RaniaRania rizq’s daugher) and she’s studying to be an English translator.

You can find her fundraiser (which is run for her by @kathimmelit's kat! 🇵🇸✊) at:
chuffed.org/project/161851-hel

Welcome to the team, Aya, and thank you so much for volunteering your time and effort to help others in Gaza while facing the exact same unspeakable hardship yourself.

💕

¹ gaza-verified.org/team

0
0
0
0
0
0
0

털짐승씨와 같이 혼자(?) 살면서 느끼지만 진짜 방 1-2개는 있어야하는것 같음 아무래도 20평 정도는 있어야지 사람이 좀 살만하고... ㅠㅠ 하지만 현실은 개개인이 이런 안정적인 공간을 가지고 사는것도 쉽지 않음 보면 기술적인 어려움이 절대적으로 아님 다만 이런 공간을 누가 점유할지 나누는 과정 자체가 비효율적임 ㅋㅋ공학/건설하는 사람 입장에선 정말 계획 미리 잡고 왕창 지으면 되는데... 수많은 사람들의 이권과 이해 조율이 항상 어려운듯...

0

I think I might switch my mailservers over to SmarterMail. It has this dandy feature that allows resetting the admin pass, remotely, without authorization.

I am fed up with forgetting the password to my OpenSMTPD+Dovecot root account - at least this will give me a solid experience.

*(Please note, this shitpost is highly sarcastic and refers to an actively exploited vuln in SmarterMail

  • which doesn't seem that smart)*
0