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

Anatomy of an E2EE ActivityPub Note in Enigmatick

Over the break I spent some time revamping my structs and enums for handling #E2EE #ActivityPub exchanges. This is what I have at the moment for the initial Create from the client (this is subject to change).

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://purl.archive.org/socialweb/mls"
  ],
  "type": "Create",
  "actor": "https://enigmatick.social/user/jdt",
  "to": [
    "https://enigmatick.social/user/mls-tester"
  ],
  "cc": [],
  "object": {
    "mediaType": "message/mls",
    "encoding": "base64",
    "published": "2025-12-29T21:11:17Z",
    "type": "Note",
    "to": [
      "https://enigmatick.social/user/mls-tester"
    ],
    "cc": [],
    "attributedTo": "https://enigmatick.social/user/jdt",
    "content": "AAEAAhDIkTdahK5U3s1SQBbA2fIvAAAAAAAAAAEBABzHJj3+WZDE3Hw6H5W9YNhE3bhDSyExL4tnn0E5QOvPUeOgYdo/2n+rGUI1M8wupeK2bt919jAs8yTj2awvBAsprxAInHm8qWgq2FER2xjcpAx9f42ncAL8Xehfy3v6vonGuAPkYteAzdFCC8mGWxg3slpI+VoPrSWThSKqjMNxttZSfvbnhEFYw0jUFmJwxOecDS8n3UVjuLDt14V0Fw9YMv+XXUgKj9bWaCPi0qhuatcgxCqXwXzpevJBhY0trbPZgjB8LlhC/zcx5NNLI9WJtCF9zq3RPkG6ByPdH6IWTH5drOJyvefILElybP4eGMSoGWZATmGUQm/k3iKG6tRyzMM/fHxpIz34",
    "tag": [
      {
        "type": "Mention",
        "name": "[at]mls-tester@enigmatick.social",
        "href": "https://enigmatick.social/user/mls-tester"
      }
    ],
    "attachment": []
  },
  "published": "2025-12-29T21:11:17Z",
  "instrument": [
    {
      "type": "VaultItem",
      "content": "oAjN0c2+q5gCtrFlauGU1kbKGizm5a5pH+iY5cObdihVBjjsSiSbkeu6XQ7/RR4lcn0OIqS9O+MVJ0QyympRxt7JI9qzCGlkCFcAyp4oe8nhh/YG7WHoLWL272vPqlq8A/Yf0YFprhIBlU48sJF6A1iRlU4fEBaRwnwV4gniSCQr55jpDe++M/HD3bSFJNcvpmf5BH9G4Z3VBaB8HMnDECGzFrB8zFycAR0w1SNYbGJuXFsopfMb4EfPkZoHT28="
    },
    {
      "type": "Welcome",
      "mediaType": "message/mls",
      "encoding": "base64",
      "content": "AAFAmCDd32lw8FF8QC6uFjAHr3mgvxBPjuGV1Pssxx+h5CNhcCAv4/tP+dWUbCq6L4A+aMr+L1uP3Xkusb4ea2H80EgFOUBUqHDCdGzjAhZdLCrjE0kM/aou36ZSZc0ahftKmE07chTiMUo8FgIj12deS4A0l3sXAR8x724HeigtyObI1GK7fxMGXU5oWemHGhS1unxK6XVyiuqvQriKP+VJPZa6JzN3Yb4r4l9B5jUfNUc5gX3XvzkzcO57Exj8SgpTTygo2zBTOPQ+6steYycUA70ed3LPKEfSCllIWeWAV+J+EFh7ywm90XFYzaPrXVudIx3orRzVMFnIldLax3oHUW5uXIrGQ06JWfgdOQ6DByb2iy/Dw4zJlbZP1oJptBTgO19IqUQaz58wrWDBSiYIT3h1jOXE3GvJgeeQIiW78noO5MF3xI3WRXB4C0cttyKm7Od2CBOk1USo+TDLCevnmExhlKlVTobTMMI4xZ1vVCdYpnb0k9rO7coVKPueBqVg2mE20GS/IoRG0v8+h0xUKIgsbYua41krjXoB5hctX4kH3lRO+qERkoXEcLVxRJuyeZEGsk4XrJ18AigU1a8gB6cZZ5LyvcV756yelu6F6MRQKba6zawDLOn4Takm3Lr3urfWo5Br7DBZcigMVjzGn8MhLSIEMhv6Ehmqajj9Vl6sTnpi90tVYWUtKO1buPrk3AiXrsbnEoNubqCs1sVmA93/Z0CcE8GQa1dO7NywofSV4/ax/tmBCZEoU6/uL7ygZHt8ZvSyd6wniPCR6sfd4ys4O8C7qW1KKFtEBbb1lMre494ZeXI5v0sG7MwbwFtI3d2uRHtWZ8v9khGr1ds4AFz3QnvoMSUtsR2kvq+C6H45kUs2ae957+txpKt5MDrcmK+CTTcX/FhlAtib4mlbs+Aj4WJFLOkXuB+MlHOMBlMz3ndJ5I3GDbo+VQvdJC2mCUOBWraihOV92mQQHi2gLXAA1NSsZIjXgnyVSYsrUvNJgTvw+AOVmJ7q5tXENPlZoOKUjSB3fEmKlywf90EQLUjDpphnYtvdFz8Oh8Vbgze+QAQp2VVYImI+1voBErK1EMKqEDFz1DC1CWUzqhl3k2pMgx00JhP3ZZpbX7YtjRmLjJM="
    }
  ]
}

The mention of mls-tester has an [at] to avoid triggering my automatic webfinger resolution.

I've adopted the mediaType and encoding attributes from the draft ActivityPub specification. And I've standardized the Welcome message to incorporate those.

The Create includes the Welcome and a VaultItem as instruments rather than being sent as separate activities. The Welcome can include any number of recipients, so one within the activity should be sufficient.

The VaultItem is specific to the #Enigmatick client and isn't intended to be federated. That's how I'm handling ongoing access to the decrypted data; the VaultItem is a symmetrically encrypted representation of the original content that can be safely stored on the server for repeated use by the client. I'll need to eventually update the @context with that extension.

0

I saw my aunt this weekend. I always admired her growing up: she was a dedicated dancer, bird watcher, traveler, and general arts-enjoyer. I took up ballet and piano because I wanted to be just like her.

I just found out that she started all of those hobbies after she got sober in her 40s, shortly before I was born. Her defining characteristics, in my eyes, have occupied less than half of her life.

It was a nice reminder that you can start a new chapter of your life whenever youโ€™d like.

0
0
0
0

โ€‹:ohayoo:โ€‹ ไปŠๆ—ฅใฏๅˆๅ‰ไธญใ‹ใ‚‰็”จไบ‹ใŒใ‚ใ‚Šใพใ™ใŒใ€ใพใ 12/29ๅˆ†ใฎใƒŽใƒซใƒžใŒ็ต‚ใ‚ใฃใฆใ„ใชใ„ใฎใงใ€ไป•ไบ‹ใ‚’็ถšใ‘ใพใ™ใ€‚็งใƒ•ใ‚กใ‚คใƒˆ๏ผ๏ผ๏ผ

1
0
1
0
0
1
0
0
0

ใฟใชใ•ใพใŠใฏใ‚ˆใ†ใ”ใ–ใ„ใพใ™ใ€‚
ไปŠๆ—ฅใ‚‚ใฟใชใ•ใพใซใจใฃใฆใŠๅฅใ‚„ใ‹ใซ็ด ๆ•ตใช1ๆ—ฅใŒใŠใจใšใ‚Œใพใ™ใ‚ˆใ†ใซใ€‚

1
0
0

Jpeg XL์€ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๋‹ˆ๊นŒ ๊ตฌ๊ธ€์ด ํฌ๋กœ๋ฏธ์›€์—์„œ ๋ปฌ๋ฒ„๋ฆฌ๊ณ  ๋ฒ„๋ฆฌ๋ ค๊ณ  ํ–ˆ์Œ์—๋„ ์–ด๋„๋น„ ๋“ฑ์ด ์“ฐ๊ฒ ๋‹ค๊ณ  ๋ฉฑ์‚ด์„ ์žก๊ณ  ์‚ด๋ฆฌ๋Š” ์ด์œ ๋ฅผ ์•Œ๊ฒ ๋‹ค. ์‚ฌ์ง„ ๋‹ค๋ฃจ๋Š” ์ž…์žฅ์—์„œ ์ด๊ฒŒ ์ฐจ์„ธ๋Œ€ ์ฝ”๋ฑ์ด์–ด์•ผ ํ•œ๋‹ค. ์‚ฌ์‹ค์ƒ ๋‹จ์ ์ด ์—†์Œ.

0
0
0

An interesting diplomatic communication today from toward : onu.delegfrance.org/france-rea

"France reaffirms its support for international space law, which must be complemented by confidence-building and transparency measures, as well as by the development of norms of responsible behavior.

"In the face of threats, our primary safeguard remains compliance with the international legal regime applicable to outer space, and first and foremost the 1967 Treaty, which is its cornerstone.

"In this regard, France reiterates its concern about the potential placement of weapons of mass destruction in outer space, which would constitute a flagrant violation of Article 4 of the 1967 Treaty, and a major threat to international peace and security.

"In addition, France is involved in ongoing discussions in the competent bodies on ways to prevent an arms race in outer space. The most appropriate approach to this end is the development of norms of responsible behavior that promote mutual understanding and reduce the risks of uncontrolled escalation. These norms could serve, if necessary, as a basis for the subsequent development of new legally or politically binding instruments."

0
1

I love what Tauri has done, a lightweight version of Electron, where you author the backend code in Rust.

But while I love Rust, I do not love it for app building, and I wanted to have that HTML-model for programming but available in Swift.

I used assorted AI tools to port Tauri to Swift (it still reuses the big chunks of code from Tauri), but now you can write HTML desktop apps in Swift:

github.com/velox-apps/velox

0
0
0
0

ใ‚‚ใ†ใšใฃใจQuineๅ†™็ตŒใ—ใฆใ‚‹ใฎใซRubyใฎ%q()ใจ%Q()ใจใฉใฃใกใŒไธญใ‚’่ฉ•ไพกใ™ใ‚‹ใฎใ‚„ใคใ‹่ฆšใˆใ‚‰ใ‚Œใชใ„โ†

0

I go to an ophthalmologist for my annual eye check up. Itโ€™s a mix of having bad eyesight all my life and health insurance fully covering it. One benefit itโ€™s probably the only waiting room I go to and get to feel like the youngest person there. ๐Ÿค“

0

Darktable 5.4 ๋ฆด๋ฆฌ์ฆˆ๋˜์–ด์„œ ํ…Œ์ŠคํŠธ. ์†๋„ ์กฐ๊ธˆ ์˜ฌ๋ž๊ณ  jpeg xl export๋„ ์ž˜ ๋˜๋Š”๋ฐ ์•„์ง ์ข€ ํฌ๋ž˜์‹œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ๋„ค. ๊ทธ๋ž˜๋„ ์ด ์ •๋„๋ฉด ๋” ์ข‹์•„์ง„๋“ฏ.

0
0
0
0

์Œ... ์ด๋Ÿฌ๋‹ˆ๊นŒ ๋‚ด๊ฐ€ ์•„์ด๋Œ ํŒฌ์„ ๋ชปํ•˜๋Š” ๊ฑฐ ๊ฐ™๊ธด ํ•˜๋‹ค. ใ…‹ใ…‹ใ…‹ NMB 1๊ธฐ ์ดํ›„๋กœ ํŒฌ์‹ฌ ๋‹ค ์ฃฝ์—ˆ์–ด. ๐Ÿ˜…

0
1
0

ํ•˜์ง€๋งŒ ๋‚œ ์ง€๊ธˆ๋„ ์• ๋“ค์ด ๋ฐ˜ํ•ญํ•˜๋˜ ์ดˆ๊ธฐ์— ์–ผ๋ฅธ ํŒ”๊ณ  ๊ทธ ๋ˆ์œผ๋กœ ์ƒˆ ๊ทธ๋ฃน ๋Ÿฐ์นญํ•˜๋Š” ๊ฒŒ ์ œ์ผ ๋‚˜์€ ์„ ํƒ์ด์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ ค๊ณ  ๊ณ„์—ด์‚ฌ ์ฒด์ œ ๋งŒ๋“  ๊ฑฐ ์•„๋‹Œ๊ฐ€.

0
0
0
0
0
0
0
0
0

"๋‹ค์–‘์„ฑ ์ฑ„์šฉ์€ '์‚ฌ๊ธฐ'"โ€ฆํŠธ๋Ÿผํ”„, ๊ธฐ์—… DEI ๋ณธ๊ฒฉ ํƒ„์•• ๋‚˜์„œ n.news.naver.com/mnews/articl... DEI๋Š” ๋‹ค์–‘์„ฑ, ํ˜•ํ‰์„ฑ, ํฌ์šฉ์„ฑ์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค. ์„ ์˜ ์ถ”๊ตฌ๋ฅผ ๋‹ค๋ฅธ ์ •ํŒŒ์˜ ์œ„์„ ์ด๋ฉฐ ์•…์ด๋ผ๊ณ  ๋ฐ€๊ณ  ์žˆ์œผ๋‹ˆ ์ •๋ง ์ฐธ๋‹ดํ•˜๋‹ค.

"๋‹ค์–‘์„ฑ ์ฑ„์šฉ์€ '์‚ฌ๊ธฐ'"โ€ฆํŠธ๋Ÿผํ”„, ๊ธฐ์—… DEI ๋ณธ๊ฒฉ ...

0
0

"ํ–‡๋ฐ˜์€ ๋ฌด์ฃ„"โ€ฆ์ •ํฌ์› ๋…ผ๋ž€ ์† ์ฃผ๋ฌธ๋Ÿ‰ ํญ์ฆ, ์ด์œ ๋Š”? n.news.naver.com/mnews/articl... ์ด๋Ÿฌํ•œ ํ˜„์ƒ์— ๋Œ€ํ•ด ์—…๊ณ„๋Š” '์œค๋ฆฌ์  ์†Œ๋น„' ๋งŒํผ์ด๋‚˜ 'ํ•ฉ๋ฆฌ์  ์†Œ๋น„'๋ฅผ ์ค‘์š”์‹œํ•˜๋Š” ์†Œ๋น„์ž๊ฐ€ ๋งŽ์•„ ์ œํ’ˆ ๊ตฌ๋งค๊ฐ€ ๋Š˜์–ด๋‚œ ๊ฒƒ์œผ๋กœ ๋ณด๊ณ  ์žˆ๋‹ค. ใ…‹ใ…‹ใ…‹ ๊ทธ๊ฒŒ ์•„๋‹ํ…๋ฐ.

"ํ–‡๋ฐ˜์€ ๋ฌด์ฃ„"โ€ฆ์ •ํฌ์› ๋…ผ๋ž€ ์† ์ฃผ๋ฌธ๋Ÿ‰ ํญ์ฆ, ์ด์œ ๋Š”?

0

web standards

i love how cgi and like fastcgi have like been a thing forever, and can integrate witih like litterally every language ever, and yet, so much stuff is still just 'oh run an entire http server in this language and like reverse proxy it to nginx'

0

@melvincarvalho just shared socialdocs.org/ on the SocialCG mailing list. It looks like a great resource for ActivityPub info. I see a few mistakes, but in general it seems to be pointing in the right direction.

0

Das โ€žganze rotgrรผne GeschmeiรŸ aufs Schafott schickenโ€œ: โ€žDas Fallbeil hoch und runter, dass die Schwarte kracht!"

Dem โ€žGegner Honig ums Maul schmieren, aber wenn wir endlich soweit sind, dann stellen wir sie alle an die Wand."

Sie haben auch schon ein paar Plรคne fรผr die Zeit nach โ€žder Machtรผbernahmeโ€œ, nรคmlich: โ€žVolksfeindliche Medien verbieten.โ€œ

Denn: โ€žDie Zeit, in der das deutsche Volk sich erhebt wird kommen. Es ist unsere Zeit!!!โ€œ

Robert Misik hat den 1.100-Seiten-Verfassungsschutzbericht รผber die AfD gelesen und alleine die Sammlung an AfD-Zitaten ist in der Zusammenschau eigentlich unfassbar. (Armin Wolf)

steady.page/de/vernunft-und-ek

0
0
0

Please share this post. I have made a deal with the devil where he will turn me back into a slug if I get 100,000 followers on here. I miss being a slug. I did not have to pay taxes. I had no idea who Katy Perry was. I slithered around aimlessly, not knowing salt would make me die a horrific death.

0
0
0
0
0
0

The Second-Order Streisand Effect is a social phenomenon where if a party makes an effort to censor information, discussion and news about the censoring attempt paradoxically leads to an increased awareness of Barbra Streisand, a musician whom most Zoomers would probably have never heard of if not for the Streisand Effect

0
0
0