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.
Did you know that you can host HTML/CSS/JS demos with execution and source code display on GitHub? All you need is a few include commands in a markdown file and your html/css/js files in a folder.
@zkatkat thats surrendering the idea of what software should be to the worst actors though, large corporations want software to be irresponsible so its normal for things to fail and not directly their fault, shit like spaceflight computers and most earlier computer engineering id actually say qualifies as such without being 'stolen valor' or what have you, calling it that is succumbing to the lowered standard companies are trying to get away with rather than pointing out correctly that theyre dragging our expectations down to their profit margins so nobody ever even gets the idea of holding them accountable for shit software because 'software is just like this'
The Python bitwise-inversion (or complement) operator, "~", behaves pretty much as expected when it is applied to integers—it toggles every bit, from one to zero and vice versa. I [...]
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 …
We are going to change it up a bit this week. Our normal session will start around 2:45pm (15 minutes later), but I plan to start at 2pm and will hosting more LLM sessions more focused on building with LLMs and tooling.
✏️ I wrote about django-simple-nav last night. It's a nice library for taking some of the painpoints out of managing menus and options that need to change based on your users being logged in, staff, superusers, or groups they belong to.
I just hope we can all understand that there's a difference between "alternatives to American software stacks" and "alternatives to imperialist software stacks."
We have a rare window here where needs of the people and the needs of a democratic, representative state are aligned around independence, agency, privacy and security. But replacing a dependency on distant dominative software with local dominative software is only the illusion of progress.
If the soles are pressed out in nearby factories, if the leather comes from grass-fed cows raised on regional farms, tanned, trimmed and worked into shape by local craftsmen, and these shining, sturdy, artisanally-made boots still end up on our necks, what have we gained?
a part of why i am kinda open-weight-maximalist about this stuff is for local use or hosted provider substitution - there are already some other perpetual subscriptions built into the practice (eg servers, domains) but we're fine with them because they're optional + competitive
Within the upcoming two weeks, Exquisite.chat will officially be launched. The first iteration will be an XMPP server - in a later phase more services will be added.
It does have a few twists:
Uses a hardened setup, powered by both OpenBSD and HardenedBSD.
We have our own STUN/TURN setup so you can talk / video with your beloved ones.
No logs, full encryption to benefit your (and our) privacy.
It is setup in 'high availability' mode. Served from two different datacenters in the Netherlands (our main datacenter, DC1 in Amsterdam, but now adding Rotterdam to the mix) for increased resiliency. So, no clouds (oh hai us-east-1).
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.
@cwebberChristine Lemmer-Webber Honestly, it’s not just the US. Friends tell me the UK has almost become uninhabitable, and Australia and Italy are on their way. There is a global fascist movement, and we are one of their stepping stones to ascension. I don’t have good answers either, but sooner or later we’re going to need to come together for support and make a stand.
\",{},{},{},\"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\":4077,\"iri\":4089,\"type\":50,\"username\":4090,\"instanceHost\":4091,\"handleHost\":4091,\"handle\":4092,\"accountId\":-2,\"name\":4093,\"bioHtml\":4094,\"automaticallyApprovesFollowers\":56,\"avatarUrl\":4095,\"headerUrl\":4096,\"inboxUrl\":4097,\"sharedInboxUrl\":-2,\"followersUrl\":4098,\"featuredUrl\":-2,\"fieldHtmls\":4099,\"emojis\":4100,\"tags\":4101,\"sensitive\":45,\"successorId\":-2,\"aliases\":4102,\"followeesCount\":16,\"followersCount\":16,\"postsCount\":10,\"url\":4103,\"updated\":4104,\"published\":-2,\"created\":4105,\"instance\":4106,\"followers\":4111,\"blockees\":4112,\"blockers\":4113},\"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\":4091,\"software\":4107,\"softwareVersion\":4108,\"updated\":4109,\"created\":4110},\"ghost\",\"0.1.0\",[\"Date\",\"2026-02-05T10:37:15.877Z\"],[\"Date\",\"2026-02-05T10:37:15.877Z\"],[],[],[],{\"id\":4083,\"url\":4084,\"title\":4115,\"siteName\":4116,\"type\":-2,\"description\":4117,\"author\":-2,\"imageUrl\":4118,\"imageAlt\":-2,\"imageType\":-2,\"imageWidth\":4119,\"imageHeight\":4119,\"creatorId\":-2,\"created\":4120,\"scraped\":4121,\"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\"],[],[],[],[],{\"id\":1602,\"iri\":1609,\"type\":50,\"username\":1610,\"instanceHost\":883,\"handleHost\":883,\"handle\":1611,\"accountId\":-2,\"name\":1612,\"bioHtml\":1613,\"automaticallyApprovesFollowers\":45,\"avatarUrl\":1614,\"headerUrl\":1615,\"inboxUrl\":1616,\"sharedInboxUrl\":890,\"followersUrl\":1617,\"featuredUrl\":1618,\"fieldHtmls\":4127,\"emojis\":4128,\"tags\":4129,\"sensitive\":45,\"successorId\":-2,\"aliases\":4130,\"followeesCount\":1624,\"followersCount\":1625,\"postsCount\":10,\"url\":232,\"updated\":4131,\"published\":4132,\"created\":4133,\"instance\":4134,\"followers\":4137,\"blockees\":4138,\"blockers\":4139},{\"電子報\":1620},{},{},[],[\"Date\",\"2025-03-05T16:10:21.036Z\"],[\"Date\",\"2019-02-19T00:00:00.000Z\"],[\"Date\",\"2025-03-05T16:10:21.036Z\"],{\"host\":883,\"software\":185,\"softwareVersion\":571,\"updated\":4135,\"created\":4136},[\"Date\",\"2026-02-24T07:58:25.977Z\"],[\"Date\",\"2025-03-05T16:10:20.921Z\"],[],[],[],{\"slots\":4141,\"props\":4142},[],{\"href\":4143,\"internalHref\":4144,\"class\":6,\"children\":4145},\"https://mstdn.fujii-yuji.net/@fujii_yuji\",\"/@fujii_yuji@mstdn.fujii-yuji.net\",[\"Slot\",4146],{\"name\":9,\"id\":4147},173,{\"slots\":4149,\"props\":4150},[],{\"href\":4143,\"internalHref\":4144,\"children\":4151},[\"Slot\",4152],{\"name\":9,\"id\":4153},174,{\"slots\":4155,\"props\":4156},[],{\"href\":4157,\"internalHref\":4158,\"class\":22,\"children\":4159},\"https://mstdn.fujii-yuji.net/@fujii_yuji/116143465510118457\",\"/@fujii_yuji@mstdn.fujii-yuji.net/019ca25f-a380-768a-9fcd-1661ddc52b9f\",[\"Slot\",4160],{\"name\":9,\"id\":4161},175,{\"slots\":4163,\"props\":4164},[],{\"value\":4165,\"locale\":30},[\"Date\",\"2026-02-27T16:10:41.000Z\"],{\"slots\":4167,\"props\":4168},[],{\"language\":30,\"post\":4169,\"class\":113,\"signedAccount\":-1},{\"id\":4170,\"iri\":4171,\"type\":36,\"visibility\":37,\"actorId\":4172,\"articleSourceId\":-2,\"noteSourceId\":-2,\"sharedPostId\":-2,\"replyTargetId\":-2,\"quotedPostId\":-2,\"name\":-2,\"summary\":-2,\"contentHtml\":4173,\"language\":4174,\"tags\":4175,\"emojis\":4176,\"sensitive\":45,\"repliesCount\":10,\"sharesCount\":135,\"quotesCount\":10,\"reactionsCounts\":4177,\"reactionsCount\":10,\"linkId\":4178,\"linkUrl\":4179,\"url\":4157,\"updated\":4180,\"published\":4165,\"actor\":4181,\"link\":4212,\"sharedPost\":-2,\"replyTarget\":-2,\"mentions\":4219,\"media\":4220,\"shares\":4221,\"reactions\":4222},\"019ca25f-a380-768a-9fcd-1661ddc52b9f\",\"https://mstdn.fujii-yuji.net/users/fujii_yuji/statuses/116143465510118457\",\"01958823-833d-7c4e-a272-83762f2118b8\",\"