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

tdov ramblings, for cis folks

I can't help but think of visibility as a kind of social contract.

If you want to see us, then you need to be able to be there for us when the people who want us to die also see us.

We get to be visible for our own sake, of course, but if you encourage visibility, much less demand it, please be prepared to offer the support that comes along with your side of that contract.

0
0
0

Hey @julian, can you help me with a quick debugging session?

Why would ` curl 'forum.wedistribute.org/categor' -H 'Accept: application/activity+json, application/ld+json'
`

return the expected JSON LD representing the actor, but the exact equivalent request fail with node.js?

0

Recent datepicker experience:
1. Control is presented as three separate spin controls, supporting the Up/Down Arrow keys to increment and decrement the value as well as manual typing. But because they're not text inputs, I can't use the Left/Right Arrow keys to review what each separate one contains, only to move between day, month, and year.
2. I tab to year.
3. I press Down Arrow, and the value is set to 2075. I'm unclear how many use cases require the year to be frequently set to 2075, but I can't imagine it's many so this seems like a fairly ridiculous starting point.
4. I press Up Arrow, and the value gets set to 0001. The number of applications for which 0001 is a valid year is likewise vanishingly small.
5. I delete the 0001, at which point my reports that the current value is "0". Also not a valid year.
6. Out of curiosity, I inspect the element to see which third-party component is being used to create this mess... only to find that it's a native `<input>` with `type="date"` and this is just how Google Chrome presents it.

A good reminder that is not always the most or user-friendly.

0
0
0
0
0
0

One of the keys on my Logi MX Mechanical Mini is bust. I reached out to support and they can't replace the key but offered to replace the entire keyboard. However, they can't match my exact model, layout, or color since it's discontinued.

This was my first mechanical keyboard and I’ve liked it. But now I’m considering replacing it for one that’s more repairable.

Requirements:
- Compact, ie. no numpad.
- Must support custom keycaps to form a Danish layout.

Any recommendations?

0
0
0
0
0

@: 유튜브 뿐만이 아닙니다. 언제나 이용자수 10위권 내 상위랭크되던 일명 "내란3갤"(국민의힘, 국민의힘비대위, 미국정치 갤러리)의 이용자수와 게시글 역시 일제히 급감했습니다. 선고 장기화로 극우들의 자금줄이 마르자 알바들한테 가던 알바비가 다 끊긴 모양이네요. x.com/circe7654/st...

키르케 on X: "유튜브 뿐만이 아닙니다. 언제나 이...

0
0

¡Hola, personitas bellas! ✨ Soy Nyx (Naiara), una trans cordobesa 🇦🇷 de 26 años, ¡revolucionaria! ✊ Anarquista, amo la libertad y apoyo a la comunidad LGBTIQ+.

Desarrollo apps para @gnome, ¡software libre para todxs! Y estoy trabajando en «Replay», una app para que no te pierdas nada de tus creadores favoritos.

En mi tiempo libre, me encanta perderme en mundos de videojuegos (Zelda, Pokémon, Spider-Man, y más) y sumergirme en la magia del anime (One Piece, Solo Leveling, y otros). Amo My Little Pony, Raridash es mi OTP, ¿ok?

Estoy en un viaje de autodescubrimiento y crecimiento personal. A veces me siento sola, pero siempre encuentro fuerza en mis adorables parejas, @xerzXerz 💗 y @echedellelrEchedelle ⚧.

Si te copa la revolución, el amor libre y la buena onda, ¡seguime!

---

Hey everyone! ✨ I'm Nyx (Naiara), a 26-year-old trans revolutionary from Córdoba, Argentina! 🇦🇷 Anarchist, I love freedom and support the LGBTIQ+ community.

I develop apps for @gnome, free software for everyone! And I'm working on “Replay,” an app so you never miss content from your favorite creators.

In my free time, I love getting lost in video game worlds (Zelda, Pokémon, Spider-Man, and more) and diving into the magic of anime (One Piece, Solo Leveling, and others). I love My Little Pony, Raridash is my OTP, okay?

I'm on a journey of self-discovery and personal growth. Sometimes I feel lonely, but I always find strength in my adorable partners, @xerzXerz 💗 and @echedellelrEchedelle ⚧.

If you're into revolution, free love, and good vibes, follow me! ✊

0
0
0
0
0
0
0
0
0
0

Taking a line (approximately) from @neilNeil Brown

I don't have a specific thing to say on Trans Day of Visibility, but I would like to say something.

Interacting with and listening to so many trans people here and on the larger internet (and even in my small town) has helped me be a better more empathetic person. I see you and I am glad you're you.

0
0
0
0
0
0
0

Recent datepicker experience:
1. Control is presented as three separate spin controls, supporting the Up/Down Arrow keys to increment and decrement the value as well as manual typing. But because they're not text inputs, I can't use the Left/Right Arrow keys to review what each separate one contains, only to move between day, month, and year.
2. I tab to year.
3. I press Down Arrow, and the value is set to 2075. I'm unclear how many use cases require the year to be frequently set to 2075, but I can't imagine it's many so this seems like a fairly ridiculous starting point.
4. I press Up Arrow, and the value gets set to 0001. The number of applications for which 0001 is a valid year is likewise vanishingly small.
5. I delete the 0001, at which point my reports that the current value is "0". Also not a valid year.
6. Out of curiosity, I inspect the element to see which third-party component is being used to create this mess... only to find that it's a native `<input>` with `type="date"` and this is just how Google Chrome presents it.

A good reminder that is not always the most or user-friendly.

0
0

The February 2025 report for the Laptop Support and Usability Project is now live! This month’s highlights include:

⭐ Laptop Sleep Enhancements: Introducing S0ix and s2idle low power states for deeper sleep modes.

⭐ Faster WiFi: Test WiFi 4 (802.11n) and WiFi 5 (802.11ac) for high-speed connectivity on modern chipsets.

⭐ Linux WiFi Driver Support: Improved LinuxKPI translation layer for seamless driver adaptation.

freebsdfoundation.org/blog/feb

0
0
0

Oh, do you now regret your vote for Donald Trump because his actions are personally affecting your life and your family?

Ok. Here's what I want you to do. I want you to go to every single liberal person you know - family, friends, co-workers, even that liberal you know on Facebook that you're constantly sending offensive memes to. I want you to go to them - in person if possible - and personally apologize to them. Tell them you're sorry for putting their life in danger because you wanted cheaper eggs or some shit. Tell them that you're regretful that your shortsightedness and bigotry is now causing them pain and suffering. Tell them that you apologize for your lack of empathy, and that in the future, you will listen to people who are more empathetic than you without ridicule or mockery. Tell them all that.

Oh, you're not going to? Okay then, I guess now we both know that your so-called "regret" was a lie. What you're actually feeling is just more selfishness.

0
0
0
0
0

question.

People share (a)gpl code on github. Github is not available everywhere (even read access I think).

Does that break the GPL?

"...must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software"

(AGPL 3, section 13)

0
0
0
0
0
0
0
0
0
0
0

tl;dr — how do PieFed/Lemmy/Mbin handle cross-posting?

Currently, when a NodeBB admin moves a topic from the uncategorized pseudo-category into a local category, we federate out an as:Announce, people typically think of that as a "boost" or "share".

That worked fine when the entirety of the category list was your local categories plus the "uncategorized" pseudo-category. However, now that NodeBB is moving towards supporting remote categories (via group actors), this UX makes less sense. We wouldn't want to "move" a topic out of the category it is supposed to be in, just for visibility to other local users. Additionally, topic moving was limited to administrators, and from the get-go we knew it would eventually cause issues because people other than admins would want to share topics to other local users.

This is where the "cross-post" functionality comes in, which is entirely new to NodeBB. I don't think this is new to other AP-enabled threaded discussion software. The idea would be that if a new topic comes in, whether it's uncategorized or not, any user could "cross-post" that topic to a local category, where it would be visible to other users on that instance. On the ActivityPub side, we would then federate out an as:Announce as we already do.

Is this what PieFed/Lemmy/Mbin already do, if they support cross-posting? What other alternative solutions would there be to this problem?

cc @rimu@mastodon.nzoss.nz @andrew_s@piefed.social @nutomic@lemmy.ml @bentigorlich@wehavecookies.social

0
0
0
0
0

I’m excited to share that today I started my new position as Director of Information Security at 4DMedical!

After my recent involuntary departure from USDS and the VA (Thanks, DOGE! /s), I was more certain than ever that I wanted my next role to be in a mission-driven organization making the world better in real ways for real people. I'm certain that 4DMedical fits the bill.

I'm excited to bring my skills and experience to bear leveling up 4DMedical's already solid infosec posture.

0
0
0
0
0

Today brings 84 new features in Safari 18.4!
• Declarative Web Push
• Screen Wake Lock API for Home Screen Web Apps
• Viewport presets in Responsive Design Mode
• Ogg Opus & Vorbis
• Image Capture API
• WebM support in MediaRecorder
• `view-transition-name: match-element`
• `::details-content`
• `sideways-rl` & `sideways-lr`
• `shape()`dialog.requestClose()
• JavaScript Iterators
• CHIPS
• new Web Extension APIs
• alpha & transparency in color picker

and a LOT more!

webkit.org/blog/16574/webkit-f

0
0
0
0