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

Melon Husk Cuts Funding for Internet Archive
futurism.com/elon-musk-cuts-fu
"This is really going to impact institutions that we take for granted."

OK, which European institution is going to step up and offer Internet Archive a back-up home?

0
0
0
0

데어데블 본 어게인 시즌 1 감상 완료.

넷플릭스 데어데블과의 관계를 끊으려고 고심한 것 같은 흔적들이 보이는데 그냥 처음부터 넷플릭스 시리즈들의 연장선으로 제작했으면 어땠을까 싶다. 기존 작품이 MCU와 연관이 없는 것도 아니고 이미 한 세계관에 있으면서 이어지고 싶지 않다고 몸부림치다 결국은 받아들인 것 같은 완성도가 되버렸지만 그래도 데어데블 팬이라면 만족할 만한 시즌.

P.S. 타이밍 때문인지는 몰라도 윤석열이 떠올라서 악당들은 언제나 한결 같다라고 느낀다.

0
1
0
0

자주 하는 생각인데, 터프들의 믿음과 달리 트랜스젠더이기에 더 첨예하게 인식할 수 있는 여성혐오도 있다. 많은 사람이 '연애나 성관계에 있어 남성 혹은 "남성 신체"가 리드하는 역할을, 여성 혹은 "여성 신체"가 팔로우하는 역할을 맡는다'는 상정에 별 의심을 품지 않는다. 크게 불쾌한 일이라고 생각하지도 않는다. 하지만 "여성 신체"를 가진 논바이너리인 나는 사람들이 "여성 신체"의 역할이 피지배, 피가학, 피삽입임을 아무 의구심 없이 확신하는 게 늘 두렵고 역겨웠다.

1

책 읽다가 생소한 게 나와서 적어 본다.

패키지 attoparsec에 있는 함수 parseOnly는 청크 한 개만 다룰 수 있고 나머지 청크는 버린다. 이러면 스트림 데이터를 읽을 수가 없다. 이때 모듈 Data.Attoparsec.ByteString.Run에 있는 다음 도구를 사용하면 된다.

parseAndRestore :: Monad m =>
  RestorableInput m ByteString -> Parser a -> m (Either ParseError a)
data RestorbleInput m i = RestorableInput
  (m i)       -- ^ Get the next chunk of input, or an empty string if there is no more
  (i -> m ()) -- ^ Push a nonempty chunk of input back to the input stream
newRestorableIO
  :: IO i  -- ^ Get the next chunk of input, or an empty string if there is no more
  -> IO (RestorableInput IO i)

RestorableInput IO ByteStringByteString 청크 스트림을 표현한다. 이게 일종의 가변 상태를 가지고 있다. 이 가변 상태가 있기 때문에 앞에서 읽었지만 소모되지 않은 청크를 버리지 않고 입력에 다시 넣는 방식을 쓰는 것 같다.

이런 방식을 Incremental parsing이라고 하는 것 같다.

5
1
0
1
0

국내 망사용료 이슈는 단순히 트위치 철수 뿐만 아니라 이상한 버그도 만들어냄.

구글이나 그 외 빅테크 대기업들은 방문자가 어디 국가에 속해있는지 파악하기 위해 geolocation을 수행함.

문제는 geolocation이 일어나는 edge의 위치가 한국(KR)이 아니면, 실제 접속자가 한국에 있어도 한국에 있는 접속자가 아닌걸로 판단되는 경우가 생김.

가장 가까운 edge인 홍콩(hk) 또는 일본(JP)에서 geolocation을 수행하다보니 가끔 버그로 인해 한국 사람들이 홍콩이나 일본에 있다고 표시함.

국가가 잘못 인식되었는데 특히 홍콩으로 인식될 경우 중국어가 뜨기에 솔직히 꺼림칙함...

별거 아닌 것 같아도 한국 사람을 한국에 있다고 올바르게 표시할 수 없는거 진짜 개망신이 따로 없는거임.

1

BotKit 0.2.0 Released

We're pleased to announce the release of BotKit 0.2.0! For those new to our project, is a framework for creating standalone bots that can interact with Mastodon, Misskey, and other platforms without the constraints of these existing platforms.

This release marks an important step in our journey to make fediverse bot development more accessible and powerful, introducing several features that our community has been requesting.

The Journey to Better Bot Interactions

In building BotKit, we've always focused on making bots more expressive and interactive. With version 0.2.0, we're taking this to the next level by bringing the social aspects of the fediverse to your bots.

Expressing Your Bot's Personality with Custom Emojis

One of the most requested features has been support. Now your bots can truly express their personality with unique visuals that make their messages stand out.

// Define custom emojis for your bot
const emojis = bot.addCustomEmojis({
  botkit: { 
    file: `${import.meta.dirname}/images/botkit.png`, 
    type: "image/png" 
  },
  fedify: { 
    url: "https://fedify.dev/logo.png", 
    type: "image/png" 
  }
});

// Use these custom emojis in your messages
await session.publish(
  text`BotKit ${customEmoji(emojis.botkit)} is powered by Fedify ${customEmoji(emojis.fedify)}`
);

With this new API, you can:

Engaging Through Reactions

Communication isn't just about posting messages—it's also about responding to others. The new reaction system creates natural interaction points between your bot and its followers:

// React to a message with a standard Unicode emoji
await message.react(emoji`👍`);

// Or use one of your custom emojis as a reaction
await message.react(emojis.botkit);

// Create a responsive bot that acknowledges reactions
bot.onReact = async (session, reaction) => {
  await session.publish(
    text`Thanks for reacting with ${reaction.emoji} to my message, ${reaction.actor}!`,
    { visibility: "direct" }
  );
};

This feature allows your bot to:

Conversations Through Quotes

Discussions often involve referencing what others have said. Our new support enables more cohesive conversation threads:

// Quote another message in your bot's post
await session.publish(
  text`Responding to this interesting point...`,
  { quoteTarget: originalMessage }
);

// Handle when users quote your bot's messages
bot.onQuote = async (session, quoteMessage) => {
  await session.publish(
    text`Thanks for sharing my thoughts, ${quoteMessage.actor}!`,
    { visibility: "direct" }
  );
};

With quote support, your bot can:

Visual Enhancements

Because communication is visual too, we've improved how your bot presents itself:

  • Image attachments now properly display in the web interface
  • Your bot's content looks better and provides a richer experience

Behind the Scenes: Enhanced Activity Propagation

We've also improved how activities propagate through the fediverse:

  • More precise propagation of replies, shares, updates, and deletes
  • Activities are now properly sent to the original message authors

These improvements ensure your bot's interactions are consistent and reliable across different fediverse platforms.

Taking Your First Steps with BotKit 0.2.0

Ready to experience these new features? BotKit 0.2.0 is available on JSR and can be installed with a simple command:

deno add jsr:@fedify/botkit@0.2.0

Since BotKit uses the Temporal API (which is still evolving in JavaScript), remember to enable it in your deno.json:

{
  "imports": {
    "@fedify/botkit": "jsr:@fedify/botkit@0.2.0"
  },
  "unstable": ["temporal"]
}

With these simple steps, you're ready to create or upgrade your fediverse bot with our latest features.

Looking Forward

BotKit 0.2.0 represents our ongoing commitment to making fediverse bot development accessible, powerful, and enjoyable. We believe these new features will help your bots become more engaging and interactive members of the fediverse community.

For complete docs and more examples, visit our docs site.

Thank you to everyone who contributed to this release through feedback, feature requests, and code contributions. The BotKit community continues to grow, and we're excited to see what you'll create!


BotKit is powered by Fedify, a lower-level framework for creating ActivityPub server applications.

1
1
0
0
0
0
0
0
0

ロッド・スチュワートの「セイリング」がニッポンの結婚式では感動的なエンディングの時に必ず流れる理由ですなあ(;´Д`)>BT
わりと有名だけどあの歌詞って「いま私は死にます」って内容ですよねー。
まあ、トランプも「Born In The U.S.A. 」をアメリカ万歳の曲だと思ってるらしいから、みんなわりと歌詞の内容を気にしていないのかもしれない。
DEVOの「ビューティフルワールド」のMVとかインセルが見たら大喜びするんじゃなかろうか。
皮肉はある程度の知能が無いと通じないものだということを僕はこれらの曲から学んだ(;´Д`)

It's a beautiful world
For you, for you, for you
It′s not for me

0

Big step for digital sovereignty in Germany!

We’re excited to see that BWI and ZenDiS have signed a 7-year agreement to bring open-source collaboration tools to the public sector.

As part of the openDesk suite, solutions like Collabora Online support secure, transparent, and fully sovereign document editing and collaboration – without relying on proprietary platforms.

Read more about this milestone for public sector innovation and open source adoption!
🔗 buff.ly/ZCYKaCG

0
0
0

Big step for digital sovereignty in Germany!

We’re excited to see that BWI and ZenDiS have signed a 7-year agreement to bring open-source collaboration tools to the public sector.

As part of the openDesk suite, solutions like Collabora Online support secure, transparent, and fully sovereign document editing and collaboration – without relying on proprietary platforms.

Read more about this milestone for public sector innovation and open source adoption!
🔗 buff.ly/ZCYKaCG

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

今回のトランプのハーバード大学に対する「反ユダヤ思想」というレッテルが今後どう作用するか予想がつかない。
アメリカは共和党も民主党もイスラエル贔屓の傾向があるんだけど、ハーバードのような大学も人文界隈も(もちろんSFも)例外ではない。
もちろん大学や人文系、SFなどのポピュラー文化には、歴史からも倫理からも、抵抗の物語を指示する気持ちからも、そして表現の自由を守る立場からも、イスラエルの植民に反対だったり親パレスチナだったりする人たちはいるけれど、決して主流派ではない。
カフェやパーティーでもその辺りの話に近づくとかなり緊張してしまう(パレスチナなんてものはないんだよ、という主張を聞いたことは一度や二度ではないし、そういう声に正面から立ち向かうところに遭遇したことはない。私も反対できなかった)。もちろんアメリカに住んだことのない私の知る範囲なんてたかが知れてるけれど。
今回トランプはハーバード大学に「反ユダヤ」のレッテルを押し付けた。これが「いや私たちはイスラエルを支持するよ」と出るのか「パレスチナを守れと言って何が悪い」となるのか、注目しているところだったりする。

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