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.
The modern mind is not able to comprehend how the Roman Empire was able to administer an territory all the way from Egypt to Hadrian's Wall without making use of Jira Sprint Planning.
Do you ever daydream about the incredibly wild optimizations a garbage collector could do if it had the direct control over virtual memory layout an operating system does
A union at a major tech corporation has a gmail (i.e. “personal”, I guess) address for accepting member declarations. Is that even any safe anymore for a worker to apply… One also doesn’t feel like creating a separate Signal account to be able to partake in the group chat without revealing oneself to all included
I'm glad we're looking at ethical alternatives to imperialist tech generally but my position remains that the ethical alternative to large-language-model SAAS is "don't."
Software development these days really reminds me of what large political parties do—no shred of thinking about the whole, not even a little bit of conviction, just churning out mid ever more milquetoast "features" designed to eek out a little more compliance.
🎙️ TALK: Partitioning very large tables with Django and PostgreSQL by @timb07Tim Bell
Database tables in PostgreSQL cause increasing performance and maintenance issues as they grow larger. In this talk, we'll look at ways of managing those problems with partitioning, the choices available, and how to partition existing tables at Kraken scale with Django.
Here's what I think you CAN expect: exactly the same pattern we've seen for the same year:
- A bit of quiet - "Is everything ok now? Can we stick our heads out again?" - BAM, the worst shit imaginable all in quick succession, it feels unbearable - They mess up or lose steam. It starts to cool off. Nothing gets better, but very few *new* bad things are happening, and so... - Repeat the cycle again.
That's been *consistently* the pattern for the next year. As you make plans, expect this pattern to continue.
@cwebberChristine Lemmer-Webber yep, this. Remember everyone, it's a ratchet. The worst shit imaginable isn't rolling back in the quiet times. The quiet times aren't an indicator that things aren't so bad, that's just the time when we all get used to the horrible new normal.
Has anybody thought about modelling #activitypub with a tool like https://alloytools.org/book.html to find potential exploits? Thinking about the spec it’s missing any algorithms for authorization, but I already found a couple of edge-cases that make a server DoSssable or give an attacker the ability to spoof messages …
요새 글을 보면 많은 사람들이 AI에 대해서 막연한 분노가 있는것 같긴한데... 사실 AI 자체 보단 그걸로 사람들을 대체(?)한다는 시나리오로 밀어붙이는 자본가와 경영진들 혹은 이 자본주의 시스템 자체가 원인 아닐까 싶긴함. AI 아니고 어떤 이세카이의 마법(?)이 있어도 즉 마법이 발견되고 마법이 계속 개량되고 등등 그걸로 노동자를 대체하고(?!) 분명 똑같은 일이 벌어질것이라 생각이 들고... 사실 AI는 별것이 아니고 그냥 손대기 힘들정도로 복잡해진 회귀 (물론 이것이 전부는 아니고) 혹은 자동화라고 보는것이 맞겠고...
installed a gemini browser called Geopard through Bazaar on an MNT Reform (arm64 Debian) and the tab previews have a really pretty glitch that readjusts when resizing the window
Here's what I think you CAN expect: exactly the same pattern we've seen for the same year:
- A bit of quiet - "Is everything ok now? Can we stick our heads out again?" - BAM, the worst shit imaginable all in quick succession, it feels unbearable - They mess up or lose steam. It starts to cool off. Nothing gets better, but very few *new* bad things are happening, and so... - Repeat the cycle again.
That's been *consistently* the pattern for the next year. As you make plans, expect this pattern to continue.
As Kansas no-notice, no-grace-period revokes trans peoples' IDs and birth certificates, many people are looking to relocate to other states. But how long until everywhere in the US is Kansas?
But then again, how long until everywhere in the world is Kansas?
It's hard to know, impossible really, but the US sure seems heading there on a fast path.
I know a lot of people are counting on the midterms to turn things around. But there's near zero chance the losing side is going to believe the outcome of the election.
Jan 6th under Trump 1 was a hell of a thing. What about under Trump 2? Hard to imagine an outcome that doesn't escalate from cold to hot civil war, but maybe I'm just jaded or not very imaginative.
Recently, there was a discussion about generic #ActivityPub servers. Several people claimed that they were working on one, but it turned out that their "generic" servers only support activities defined in the ActivityPub specification. Such a server shouldn't be called generic. It is not difficult to build, neither it is an interesting concept because competing protocols (e.g. Nostr) already offer much more.
I've been writing a #FEP that describes how to build a real generic server. It is not finished yet, but I feel like now is a good time to publish it:
- Can process any object type, and can process non-standard activities like EmojiReact. - Compatible with FEP-ae97 clients. - Does not require JSON-LD.
I attempted to implement it when I was researching security properties of FEP-ae97 API: https://codeberg.org/silverpill/fep-ae97-server. Back then I didn't know what to do with side effects, but now I think that we can simply force clients to specify them.
There's now a proper rendered web interface for FEPs at https://fediverse.codeberg.page/fep/fep/*/, which is much nicer to read than the raw Markdown source on Codeberg. But the canonical permalink, https://w3id.org/fep/*, still redirects to the Markdown file rather than the rendered page.
Would it make sense to update the w3id.org redirect to point to the rendered version instead? It seems like the better experience for anyone following a FEP link, and arguably what a “permanent” link should resolve to—something human-readable.
I'm not sure who manages the w3id.org/fep/ redirect configuration. (It lives in the perma-id/w3id.org GitHub repo, so it would just be a PR, but I'd want to get community consensus first rather than just send one in unilaterally.)
[알립니다]
이재명 대통령이 김혜경 여사와 공동명의로 보유하고 있던 경기도 성남시 분당구의 아파트를 오늘 부동산에 매물로 내놨습니다. 거주 목적의 1주택 소유자였지만 부동산 시장 정상화의 의지를 국민께 몸소 보여주겠다는 의도로 풀이됩니다. 현재 해당 아파트는 전년 실거래가 및 현재 시세보다 저렴하게 매물로 내놓았습니다.
- 청와대 대변인 강유정 -
An older picture of a telescope on Mauna Kea, Hawaii. I remember driving a car up the gravel road. The 2 wheel drive started to have difficulties and the air got very cold and rather thin. But the sunset was worth it.
\",{},{},{},\"019ca0ce-df97-7ac4-9aaf-b887eb628240\",\"https://www.urbandictionary.com/define.php?term=Bugrock\",\"https://thisisnot.news/ji-ji-zha-zha-gu-gu/\",[\"Date\",\"2026-02-27T15:18:29.000Z\"],[\"Date\",\"2026-02-27T15:18:29.000Z\"],{\"id\":3966,\"iri\":3978,\"type\":138,\"username\":3979,\"instanceHost\":3980,\"handleHost\":3980,\"handle\":3981,\"accountId\":-2,\"name\":3982,\"bioHtml\":3983,\"automaticallyApprovesFollowers\":56,\"avatarUrl\":3984,\"headerUrl\":3985,\"inboxUrl\":3986,\"sharedInboxUrl\":-2,\"followersUrl\":3987,\"featuredUrl\":-2,\"fieldHtmls\":3988,\"emojis\":3989,\"tags\":3990,\"sensitive\":43,\"successorId\":-2,\"aliases\":3991,\"followeesCount\":16,\"followersCount\":16,\"postsCount\":10,\"url\":3992,\"updated\":3993,\"published\":-2,\"created\":3994,\"instance\":3995,\"followers\":4000,\"blockees\":4001,\"blockers\":4002},\"https://thisisnot.news/.ghost/activitypub/users/index\",\"index\",\"thisisnot.news\",\"@index@thisisnot.news\",\"這不是新聞\",\"因為這是我的胡思亂想。\",\"https://thisisnot.news/content/images/activitypub/images/bfcb540e-be1d-4999-89a8-715db4e35bb4/e742db85-8fce-4879-b48e-a266734eda82.jpeg\",\"https://static.ghost.org/v5.0.0/images/publication-cover.jpg\",\"https://thisisnot.news/.ghost/activitypub/inbox/index\",\"https://thisisnot.news/.ghost/activitypub/followers/index\",{},{},{},[],\"https://thisisnot.news/\",[\"Date\",\"2026-02-05T10:37:16.901Z\"],[\"Date\",\"2026-02-05T10:37:16.901Z\"],{\"host\":3980,\"software\":3996,\"softwareVersion\":3997,\"updated\":3998,\"created\":3999},\"ghost\",\"0.1.0\",[\"Date\",\"2026-02-05T10:37:15.877Z\"],[\"Date\",\"2026-02-05T10:37:15.877Z\"],[],[],[],{\"id\":3972,\"url\":3973,\"title\":4004,\"siteName\":4005,\"type\":-2,\"description\":4006,\"author\":-2,\"imageUrl\":4007,\"imageAlt\":-2,\"imageType\":-2,\"imageWidth\":4008,\"imageHeight\":4008,\"creatorId\":-2,\"created\":4009,\"scraped\":4010,\"creator\":-2},\"Urban Dictionary: Bugrock\",\"Urban Dictionary\",\"Bugrock: What the Minecraft community calls Bedrock whenever someone makes a bug report, due to the massive amount of unfixed bugs and broken mechanics.\",\"https://udimg.com/v1/social/twitter.webp?word=Bugrock&meaning=What+the+Minecraft+community+calls+Bedrock+whenever+someone+makes+a+bug+report%2C+due+to+the+massive+amount+of+unfixed+bugs+and+broken+mechanics.&example=%22Is+mob+spawning+fucked+for+anyone+else%3F%22%0A%0A%22Just+classic+Bugrock.%22\",506,[\"Date\",\"2026-02-27T20:33:58.170Z\"],[\"Date\",\"2026-02-27T20:33:58.170Z\"],[],[],[],[],{\"slots\":4016,\"props\":4017},[],{\"href\":4018,\"internalHref\":4019,\"class\":6,\"children\":4020},\"https://misskey.io/@ahera\",\"/@ahera@misskey.io\",[\"Slot\",4021],{\"name\":9,\"id\":4022},169,{\"slots\":4024,\"props\":4025},[],{\"href\":4018,\"internalHref\":4019,\"children\":4026},[\"Slot\",4027],{\"name\":9,\"id\":4028},170,{\"slots\":4030,\"props\":4031},[],{\"href\":4032,\"internalHref\":4033,\"class\":22,\"children\":4034},\"https://misskey.io/notes/aj8lpkv1u1fr0634\",\"/@ahera@misskey.io/019ca0ca-547d-77a5-8b67-71cefc962585\",[\"Slot\",4035],{\"name\":9,\"id\":4036},171,{\"slots\":4038,\"props\":4039},[],{\"value\":4040,\"locale\":30},[\"Date\",\"2026-02-27T15:18:20.125Z\"],{\"slots\":4042,\"props\":4043},[],{\"language\":30,\"post\":4044,\"class\":86,\"signedAccount\":-1},{\"id\":4045,\"iri\":4032,\"type\":37,\"visibility\":38,\"actorId\":4046,\"articleSourceId\":-2,\"noteSourceId\":-2,\"sharedPostId\":-2,\"replyTargetId\":-2,\"quotedPostId\":-2,\"name\":-2,\"summary\":-2,\"contentHtml\":4047,\"language\":-2,\"tags\":4048,\"emojis\":4049,\"sensitive\":43,\"repliesCount\":10,\"sharesCount\":10,\"quotesCount\":10,\"reactionsCounts\":4051,\"reactionsCount\":16,\"linkId\":-2,\"linkUrl\":-2,\"url\":-2,\"updated\":4052,\"published\":4040,\"actor\":4053,\"link\":-2,\"sharedPost\":-2,\"replyTarget\":-2,\"mentions\":4097,\"media\":4098,\"shares\":4099,\"reactions\":4100},\"019ca0ca-547d-77a5-8b67-71cefc962585\",\"0196795e-922e-7b43-b789-5c52fcc4db3d\",\"
\",\"https://media.misskeyusercontent.com/misskey/e8f19026-a502-4ad7-98ef-b87a826d8184.png\",\"https://media.misskeyusercontent.com/io/da02fac3-3a9a-46df-a00d-226f0e1f7535.webp\",\"https://misskey.io/users/9be57uh1x6/inbox\",\"https://misskey.io/users/9be57uh1x6/followers\",{\"私は一般人です\":4064,\"時間のないサイト運営者リング\":4065,\"Valid HTML 4.01 (fake)\":4066,\"自作マイクラスキン\":4067,\"スキンギャラリー\":4068,\":meowflower: 5歳児\":4069,\"園児ニア\":4070,\":unicode_1d54f_bg_black:\":4071,\"🦋\":4072,\"欲しいものリスト\":4073},\"私は一般人です\",\"時間のないサイト運営者リング\",\"Valid HTML 4.01 (fake)\",\"https://www.planetminecraft.com/member/ahera/submissions/\",\"https://misskey.io/gallery/9ezgzqrybl\",\"@ahera@misskey.flowers\",\"@ahera@misskey.systems\",\"https://twitter.com/ahera\",\"https://bsky.app/profile/ahera.jp\",\"時間\",{\":misuhai:\":4075,\":tama_ken:\":4076,\":meowflower:\":4077,\":blobcat_yay:\":4078,\":minecraft_tnt:\":4079,\":role_minecraft_player:\":4080,\":role_seizinzumi_youzi:\":4081,\":unicode_1d54f_bg_black:\":4082},\"https://media.misskeyusercontent.com/emoji/misuhai.gif\",\"https://media.misskeyusercontent.com/io/b8af3a37-d3f9-408c-ab58-44c6d4939d82.png\",\"https://media.misskeyusercontent.com/emoji/meowflower.png\",\"https://media.misskeyusercontent.com/io/f5c2c146-3340-4ee9-a409-4a2e90ddbc3a.apng\",\"https://media.misskeyusercontent.com/emoji/minecraft_tnt.gif\",\"https://media.misskeyusercontent.com/misskey/e5d400f0-ef23-4ea4-935f-b97267404200.png\",\"https://media.misskeyusercontent.com/io/d69f2034-20ef-4f4a-8421-0b538dd2c35e.png\",\"https://media.misskeyusercontent.com/io/5b135545-e11f-45e1-bcdf-66b39adb57e7.png\",{\"#kotoko\":4084,\"#minecraft\":4085},\"https://misskey.io/tags/kotoko\",\"https://misskey.io/tags/minecraft\",[],1907,1614,[\"Date\",\"2025-04-27T22:29:23.119Z\"],[\"Date\",\"2025-04-27T22:29:23.119Z\"],{\"host\":3296,\"software\":3325,\"softwareVersion\":3326,\"updated\":4092,\"created\":4093},[\"Date\",\"2026-03-03T01:04:50.053Z\"],[\"Date\",\"2024-12-13T09:14:04.772Z\"],[],[],[],[],[],[],[],{\"slots\":4102,\"props\":4103},[],{\"href\":1566,\"internalHref\":1567,\"class\":6,\"children\":4104},[\"Slot\",4105],{\"name\":9,\"id\":4106},172,{\"slots\":4108,\"props\":4109},[],{\"href\":1566,\"internalHref\":1567,\"children\":4110},[\"Slot\",4111],{\"name\":9,\"id\":4112},173,{\"slots\":4114,\"props\":4115},[],{\"href\":4116,\"internalHref\":4117,\"class\":22,\"children\":4118},\"https://mstdn.y-zu.org/@Yohei_Zuho/116143259465823021\",\"/@Yohei_Zuho@mstdn.y-zu.org/019ca0c1-1185-7837-a68c-700e9b7f41d3\",[\"Slot\",4119],{\"name\":9,\"id\":4120},174,{\"slots\":4122,\"props\":4123},[],{\"value\":4124,\"locale\":30},[\"Date\",\"2026-02-27T15:18:17.000Z\"],{\"slots\":4126,\"props\":4127},[],{\"language\":30,\"post\":4128,\"class\":86,\"signedAccount\":-1},{\"id\":4129,\"iri\":4130,\"type\":37,\"visibility\":38,\"actorId\":1624,\"articleSourceId\":-2,\"noteSourceId\":-2,\"sharedPostId\":-2,\"replyTargetId\":-2,\"quotedPostId\":-2,\"name\":-2,\"summary\":-2,\"contentHtml\":4131,\"language\":1626,\"tags\":4132,\"emojis\":4133,\"sensitive\":43,\"repliesCount\":10,\"sharesCount\":10,\"quotesCount\":10,\"reactionsCounts\":4134,\"reactionsCount\":10,\"linkId\":-2,\"linkUrl\":-2,\"url\":4116,\"updated\":4135,\"published\":4124,\"actor\":4136,\"link\":-2,\"sharedPost\":-2,\"replyTarget\":-2,\"mentions\":4150,\"media\":4151,\"shares\":4152,\"reactions\":4153},\"019ca0c1-1185-7837-a68c-700e9b7f41d3\",\"https://mstdn.y-zu.org/users/Yohei_Zuho/statuses/116143259465823021\",\"