
pkg update
@pkgupdt@hl.pkgu.net
역시 전직?은 어쩔 수 없나, 계속 최적화 아이디어가 떠오르는데, 끽해야 1천개도 처리 안 하는 개인용 스트립트에 그런 최적화해서 무슨 이득이 있나 싶다. 😇
@pkgupdt@hl.pkgu.net · 204 following · 152 followers
A hobbyist photographer, football fan and ex software engineer.
This account is for my personal records. I mostly post in Korean, but I can communicate in English and Japanese.
I use #photo #photography #사진 #写真 tags for my photo posts.
@pkgupdt@hl.pkgu.net
역시 전직?은 어쩔 수 없나, 계속 최적화 아이디어가 떠오르는데, 끽해야 1천개도 처리 안 하는 개인용 스트립트에 그런 최적화해서 무슨 이득이 있나 싶다. 😇
@news_global@802.3ether.net
미, 2028년부터 본토 육군 기지에 '초소형원자로' 설치 추진
(서울=연합뉴스) 전명훈 기자 = 미군이 자국 본토 내 다수의 핵심 육군기지에 '초소형 원자로'를 설치해 갈수록 커지는 전력 수요에 대응하기로 ...
https://www.yna.co.kr/view/AKR20251015134100009
@sagi@misskey.io
これからも魅力的な鉄道写真を撮っていきたい限り…
#鉄道の日
@strike_zeam@misskey.io
@Wooh@misskey.io
はさまれぷっぷー
#かわいいにゃんぷっぷー再掲した奴全員優勝
@pkgupdt@hl.pkgu.net
사진가 이노우에 히로키(井上浩輝) 선생이 사진을 업이든 취미든 해나가기 위한 3요소 중 하나로 피사체에 대한 관심과 애정을 꼽은 적이 있다. 즉 좋아하는 것들을 찍어야 잘 된다는 이야기. 당연해 보이지만 곰곰이 생각해보면 생각보다 간단한 일이 아니다. 선생도 애정으로부터 그에 대해 알고 싶어해야하고 공부해야 한다고 말씀을 이어갔고.
참고로 그 3요소 중 나머지 둘은 사진 이론에 대한 이해와 명작을 보는 경험과 안목이었다.
@kde@floss.social
Happy Birthday to us 🎂! KDE is 29!
Today KDE is 29 years old and we are celebrating kicking off our yearly #fundraiser . Donate and make KDE's wishes come true.
@pkgupdt@hl.pkgu.net
8bit면 256이니까, 연산할 필요 없이 그냥 정수-정수 LUT 돌려버려도 되긴 되네. 비싼 float 처리 해 봤자 최종단에서 양자화되는 거라 오차는 최대 0.5 나는거고, 그 것도 어차피 피할 수 없는 오차라면 테이블 그 것도 상수로 박아서 돌려버려도 큰 차이가 없구만.;;
제미나이한테 코딩 시키고, chatgpt한테 가져가서, 이거 문제점들 다 알려줘, 하고 그걸 다시 제미나이한테 들고 가서 왜 이런 문제들을 놔 뒀지? 일 제대로 안할꺼야? 하고 있자니 이게 바로 악덕 매니저다. ㅋㅋㅋㅋ 🤣
@pkgupdt@hl.pkgu.net
예전에 현상한 사진들은 지금 보면 마음에 안 드는 부분들 - 그 당시엔 눈치를 못 챘거나, 개선할 기술이 나에게 없었거나 - 이 있는데, 그렇다고 다시 현상하자니 시간이 없네. 😅
@pkgupdt@hl.pkgu.net
@silverkey.social@bsky.brid.gy
머스크의 스페이스X와 xAI가 테슬라의 사이버트럭 재고를 구매해주고 있다고… 보통 이런 경우는 이해 충돌이지 않나 싶은데 진짜 대단하군. 이런식으로 테슬라 4분기 실적 개선하려는 것은 물론 전기차 세금 혜택 끝나기 전에 받아가겠다 이런건가
RE: https://bsky.app/profile/did:plc:7qwkxkh4lz2unhehubhbhpt5/post/3m33feg2kh22s
@fedify@hollo.social
We are excited to announce Fedify 1.9.0, a mega release that brings major security enhancements, improved developer experience, and expanded framework support. Released on October 14, 2025, this version represents months of collaborative effort, particularly from the participants of Korea's OSSCA (Open Source Contribution Academy).
This release would not have been possible without the dedicated contributions from OSSCA participants: Jiwon Kwon (@z9mb1), Hyeonseo Kim (@gaebalgom), Chanhaeng Lee (@2chanhaeng), Hyunchae Kim (@r4bb1t), and An Subin (@nyeong). Their collective efforts have significantly enhanced Fedify's capabilities and made it more robust for the fediverse community.
Fedify 1.9.0 implements FEP-fe34, an origin-based security model that protects against content spoofing attacks and ensures secure federation practices. This critical security enhancement enforces same-origin policy for ActivityPub objects and their properties, preventing malicious actors from impersonating content from other servers.
The security model introduces a crossOrigin
option in Activity Vocabulary property accessors (get*()
methods) with three security levels:
// Default behavior: logs warning and returns null for cross-origin content
const actor = await activity.getActor({ crossOrigin: "ignore" });
// Strict mode: throws error for cross-origin content
const object = await activity.getObject({ crossOrigin: "throw" });
// Trust mode: bypasses security checks (use with caution)
const attachment = await note.getAttachment({ crossOrigin: "trust" });
Embedded objects are automatically validated against their parent object's origin. When an embedded object has a different origin, Fedify performs automatic remote fetches to ensure content integrity. This transparent security layer protects your application without requiring significant code changes.
For more details about the security model and its implications, see the origin-based security model documentation.
Activity idempotency handling has been significantly improved with the new withIdempotency()
method. This addresses a critical issue where activities with the same ID sent to different inboxes were incorrectly deduplicated globally instead of per-inbox.
federation
.setInboxListeners("/inbox/{identifier}", "/inbox")
.withIdempotency("per-inbox") // New idempotency strategy
.on(Follow, async (ctx, follow) => {
// Each inbox processes activities independently
});
The available strategies are:
"per-origin"
: Current default for backward compatibility"per-inbox"
: Recommended strategy (will become default in Fedify 2.0)This enhancement ensures that shared inbox implementations work correctly while preventing duplicate processing within individual inboxes. For more information, see the activity idempotency documentation.
Fedify now intelligently handles ActivityPub objects containing relative URLs, automatically resolving them by inferring the base URL from the object's @id
or document URL. This improvement significantly enhances interoperability with ActivityPub servers that use relative URLs in properties like icon.url
and image.url
.
// Previously required manual baseUrl specification
const actor = await Actor.fromJsonLd(jsonLd, { baseUrl: new URL("https://example.com") });
// Now automatically infers base URL from object's @id
const actor = await Actor.fromJsonLd(jsonLd);
This change, contributed by Jiwon Kwon (@z9mb1), eliminates a common source of federation failures when encountering relative URLs from other servers.
TypeScript support now covers all RFC 6570 URI Template expression types in dispatcher path parameters. While the runtime already supported these expressions, TypeScript types previously only recognized simple string expansion.
// Now fully supported in TypeScript
federation.setActorDispatcher("/{+identifier}", async (ctx, identifier) => {
// Reserved string expansion — recommended for URI identifiers
});
The complete set of supported expression types includes:
{identifier}
: Simple string expansion{+identifier}
: Reserved string expansion (recommended for URIs){#identifier}
: Fragment expansion{.identifier}
: Label expansion{/identifier}
: Path segments{;identifier}
: Path-style parameters{?identifier}
: Query component{&identifier}
: Query continuationThis was contributed by Jiwon Kwon (@z9mb1). For comprehensive information about URI templates, see the URI template documentation.
Fedify now supports customizing WebFinger responses through the new setWebFingerLinksDispatcher()
method, addressing a long-standing community request:
federation.setWebFingerLinksDispatcher(async (ctx, actor) => {
return [
{
rel: "http://webfinger.net/rel/profile-page",
type: "text/html",
href: actor.url?.href,
},
{
rel: "http://ostatus.org/schema/1.0/subscribe",
template: "https://example.com/follow?uri={uri}",
},
];
});
This feature was contributed by Hyeonseo Kim (@gaebalgom), and enables applications to add custom links to WebFinger responses, improving compatibility with various fediverse implementations. Learn more in the WebFinger customization documentation.
Fedify now officially supports Fastify through the new @fedify/fastify
package:
import Fastify from "fastify";
import { fedifyPlugin } from "@fedify/fastify";
const fastify = Fastify({ logger: true });
await fastify.register(fedifyPlugin, {
federation,
contextDataFactory: () => ({ /* your context data */ }),
});
This integration was contributed by An Subin (@nyeong). It supports both ESM and CommonJS, making it accessible to all Node.js projects. See the Fastify integration guide for details.
Koa applications can now integrate Fedify through the @fedify/koa
package:
import Koa from "koa";
import { createMiddleware } from "@fedify/koa";
const app = new Koa();
app.use(createMiddleware(federation, (ctx) => ({
user: ctx.state.user,
// Pass Koa context data to Fedify
})));
The integration supports both Koa v2.x and v3.x. Learn more in the Koa integration documentation.
The new @fedify/next
package brings first-class Next.js support to Fedify:
// app/api/ap/[...path]/route.ts
import { federation } from "@/federation";
import { fedifyHandler } from "@fedify/next";
export const { GET, POST } = fedifyHandler(federation);
This integration was contributed by Chanhaeng Lee (@2chanhaeng). It works seamlessly with Next.js App Router. Check out the Next.js integration guide for complete setup instructions.
All npm packages now support both ESM and CommonJS module formats, resolving compatibility issues with various Node.js applications and eliminating the need for the experimental --experimental-require-module
flag. This particularly benefits NestJS users and other CommonJS-based applications.
Fedify now implements FEP-5711, adding inverse properties to collections that provide essential context about collection ownership:
const collection = new Collection({
likesOf: note, // This collection contains likes of this note
followersOf: actor, // This collection contains followers of this actor
// … and more inverse properties
});
This feature was contributed by Jiwon Kwon (@z9mb1). The complete set of inverse properties includes likesOf
, sharesOf
, repliesOf
, inboxOf
, outboxOf
, followersOf
, followingOf
, and likedOf
. These properties improve data consistency and enable better interoperability across the fediverse.
The new fedify nodeinfo
command provides a visual way to explore NodeInfo data from fediverse instances. This replaces the deprecated fedify node
command and offers improved parsing of non-semantic version strings. Try it with:
fedify nodeinfo https://comam.es/snac/
This was contributed by Hyeonseo Kim (@gaebalgom). The command now correctly handles various version formats and provides a cleaner visualization of instance capabilities. See the CLI documentation for more options.
The fedify lookup
command now supports a timeout option to prevent hanging on slow or unresponsive servers:
fedify lookup --timeout 10 https://example.com/users/alice
This enhancement, contributed by Hyunchae Kim (@r4bb1t), ensures reliable operation even when dealing with problematic remote servers.
Several modules have been separated into dedicated packages to improve modularity and reduce bundle sizes. While the old import paths remain for backward compatibility, we recommend migrating to the new packages:
@fedify/cfworkers
replaces @fedify/fedify/x/cfworkers
@fedify/denokv
replaces @fedify/fedify/x/denokv
@fedify/hono
replaces @fedify/fedify/x/hono
@fedify/sveltekit
replaces @fedify/fedify/x/sveltekit
This modularization was contributed by Chanhaeng Lee (@2chanhaeng). The old import paths are deprecated and will be removed in version 2.0.0.
This release represents an extraordinary collaborative effort, particularly from the OSSCA participants who contributed numerous features and improvements. Their dedication and hard work have made Fedify 1.9.0 the most significant release to date.
Special thanks to all contributors who helped shape this release, including those who provided feedback, reported issues, and tested pre-release versions. The fediverse community's support continues to drive Fedify's evolution.
For the complete list of changes, bug fixes, and improvements, please refer to the CHANGES.md file in the repository.
@bakedbean@sajin.life
@unninni@daepi.so
ㅇㄴㅂㅈ에 수면이 부족하신 분들, 내가 몇 시간 자야하는지 감이 잘 없으신 분들을 위한 가이드
@AppleWebKit@planet.moe · Reply to pkg update's post
@pkgupdt 원래는 Jeollabuk-do를 썼는데요
특자도 전환하면서 풀네임이 "전북"특별자치도가 되버리는 바람에 그렇게 바뀌어버렸습니다.
https://overseas.mofa.go.kr/tt-ko/brd/m_6717/view.do?seq=1341960
@pkgupdt@hl.pkgu.net · Reply to WebKit's post
@AppleWebKit 아 특별자치도 전환 때문이었군요. 알려주셔서 감사합니다. 😊
@pkgupdt@hl.pkgu.net
전라북도는 영문명으로 Jeonbuk-do를 쓰네. 일단은 따라 쓰는데, 흠.
@pkgupdt@hl.pkgu.net
전주에 가면 경기전은 한 번 둘러볼만하다. 조선이 조용하게 남아 있는 곳.
@pkgupdt@hl.pkgu.net
사진에 테두리를 두르니까 AI가 해석을 잘 못하는 듯도 하고? 뭐 얼마나 방해?가 되겠냐만은 당분간은 둘러 봐야겠다. ㅎㅎㅎ;
@pkgupdt@hl.pkgu.net
지쇼지(慈照寺) 또는 은각사는 내가 교토에서 제일 좋아하는 곳이다. 여러 양식을 과함이 없이 조화롭게 배치한 한 시대의 대표작이다.
@news_global@802.3ether.net
CIA 비밀감옥 '블랙사이트'의 고문 수법…2003년 전문 기밀해제
(서울=연합뉴스) 임화섭 기자 = 미국 중앙정보국(CIA)의 비밀감옥에서 알카에다 관련 용의자를 고문하는 데 쓰인 수법을 담은 기밀 해제 전문(...
https://www.yna.co.kr/view/AKR20251014140800009
@guiltyone@buttersc.one
@draco@pointless.chat
“한국을 왜 걱정해요?” 노벨상 수상자들 극찬…단, ‘이것’만 빼고
https://n.news.naver.com/article/081/0003581939?ntype=RANKING
노벨경제학 수상자들 온라인 기자 간담회
모키어 교수 “한국 경제 크게 걱정 안해”
하윗 교수 “韓, 강력한 반독점 정책 필요”
한국 저출산 문제엔 “위험 요소” 한목소리
우리나라 정치인들보다도 잘 알고 계시네.
@pkgupdt@hl.pkgu.net
나 자신은 디지털로만 사진을 찍지만, 필름이 빛에 "탄" 질감은 정말 매력적이다. 여전히 필름을 찾아서 쓰는 사람들이 이해가 간다. 특히 흑백 필름에서 그라데이션이 실키하게 떨어지는 부분은 정말 좋다. ... 난 안 할 거지만. 😅
@panchromaholic@mastodon.art
#BelieveInFilm #FilmIsNotDead
📷 Nikon F2 🎞 Kentmere PAN 100 🧪 Amaloco AM 74
@ambivalena@mastodon.nu
The Shaggy Ink Choir
Read #AltText for image description, 73 words.
@pkgupdt@hl.pkgu.net
하이라이트 날려도 (안 날리면 더 좋지만 그래도) 괜찮아, 를 미리 알았으면 아마 R8을 안 샀... 아니다, AF 못 잡는 거 때문에 사긴 샀을 듯. ㅎㅎㅎ DR이 거의 1.8 스탑 올라가긴 했는데 흠, 이걸로 사진이 더 좋아지진 않은 듯. 색 심도는 도움이 됐지만.
@hess_photo@pixelfed.social
@minoson@misskey.io
やさしいお姉さんに入れてもらえて、まあまあいい場所で見れた〜
花火、日によって全然違うのだな〜
昨日はレインボーだったけど、今日は赤とか青が激しく炸裂するミャクい花火だった
@pkgupdt@hl.pkgu.net