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.

짱구 중국어판은 대체로 대만 더빙입니다.

북방 표준어는 咱们(잔먼)이나
哥们儿(꺼멀) 같은 말 쓰거나
발음도 zhe, ze 발음 구분이 명확하고
er 발음이 강한 경향이 많습니다.
본토 TV나 더빙은 북방 표준어를 쓰는 경우가 많죠.

다만 남방 중국어는
zhe, che를 모두 ze, ce로 발음하는 경우가 많고
er 발음이 들어간 点儿(디알)보다는
点(디엔)을 쓰는 경우가 많죠.

단어 표현이 묘하게 다르기도 합니다.

고구마 - 白薯(북방), 地瓜(남방 및 전국)
유치원 - 幼儿园(본토), 幼稚园(대만 및 일부 지역)

0

Wow. What a spectacular long-read by @shibacomputer𝔰𝔥𝔦𝔟𝔠𝔬 from @newdesigncongress! 👏

“When the server goes dark, we go dark, too. We’ve built an entire civilisation on an unthinkably brutal and comically unreliable stack while hallucinating it as literally anything else. We condemn AI today for making shit up, but what about us? […] We hallucinate that the server is somehow both ephemeral and eternal."

newdesigncongress.org/en/pub/w

0
1

Here is another slow expression to demonstrate the disjunction pruning optimization I talked about earlier.

Suppose you declare a variable of implicitly unwrapped optional type:

var x: Int! = ...

The value of x is stored like an ordinary optional "Int?", but a reference to x from inside an expression is presented as a disjunction---the type of the reference is either "Int", or "Int?". If both lead to a solution, we favor the "Int?" choice; otherwise, we get the "Int" choice, and the compiler then lowers the reference to a runtime check.

Now, consider this expression:

let result = x + x + x + x + x + x

It takes the Swift 6.3 compiler a third of a second to type check this expression, and now its instant with recent main snapshots. What changed?

0
0
0

Kroisse님과는 하스켈 서버에서 같은 주제로 이야기를 나누었는데, 나는 패키지 매니저 그냥 만들지 말자는 입장이다. 또는 작게 만들거나.

패키지 매니저가 하는일이

  1. 조건에 맞는 패키지를 찾아줌
  2. 패키지를 다운받게 해줌

여기서 2를 위해 별도의 프로그램이 필요하진 않다. 그냥 http나 git 클라이언트 쓰면 된다. 애초에 패키지 매니저들도 레지스트리로부터 패키지를 다운받는것외에, http, git 등을 레지스트리에 올리기 이전 개발단계의 편의를 위해 별도로 지원한다.

그럼 1번이 문제인데, 이게 쉬운 문제였으면 정말로 패키지 매니저가 필요없긴 했겠지. 저 조건이란게 단순히 strict한 버전이었다면 git tag등으로 명시하면 그만이다. 현실은 ^3.1.0 같은 여러 버전을 허용하는 방식이고, 같이 설치하는 패키지들의 버전들의 제약 조건을 풀어서 만족하는 버전을 찾아내야한다. 이걸 하려면 여러 패키지들을 모아놓아야하다보니 패키지 레지스트리라고 하는 서버가 생긴다. 그리고 패키지 매니저는 그 서버에 대한 클라이언트가 된다.

... 이렇게 써놓고보니 마치 서버에서 버전 제약 조건을 푸는 solver 역할도 할것 같은데, 대부분의 경우 그렇지 않다. 보통 클라이언트한테 패키지의 메타데이터(어떤 버전이 있는지, 각 버전마다 의존성은 뭔지) 내려주고 클라이언트에서 푼다. 패키지 수가 별로 많지않은 하스켈의 Hackage의 경우엔 그냥 메타데이터들 모아놓은 tar 파일을 하나 내려주는게 끝이다.

패키지 매니저란게 뭔가 거창한거 같은데, 의외로 별거 아닌 동작들을 한군데 모아놓은거란 걸 알수 있다. 확실히 까다로운 부분이라면 버전 solver 정도? 그리고 여기다가 꼭 패키지 매니저가 할 필요는 없는 기능들을 하나둘 넣어서(빌드나 npm run 같은 잡 기능이나) 또 별 이유없이 큰 프로그램을 만든다. 그렇다면 UNIX 철학에 따라 최대한 작은 패키지 매니저를 만들면 어떻게 될까?

그냥 버전 솔버만 만들면 된다는게 내 의견이다. 나머지는 그냥 파일 다운로드 받는거고 git한테 맡기면 된다. 더 나아가 버전 VCS가 버전 솔버까지 해야한다는게 내 입장이지만 이 얘기는 일단 pass. 또 Hackage와 달리 npm의 경우에 그 규모 때문에 패키지 메타데이터를 통째로 받기가 어렵긴 하다. 하지만 많은 언어들이 Hackage같은 접근을 할 수 있고(Rust의 crate.io도 그랬던걸로 안다), 그게 불가능할 경우에도 문제를 해결할만큼만 프로그램을 키우는게 낫다고 본다.

그리고 자꾸 Nix 얘기만 해서 짜증날까봐 걱정이긴한데, 여기서 버전 솔버 빼고 나머지를 모조리 Nix한테 맡길수 있다. 패키지 다운로드, locking, 빌드 등. 이때 패키지 매니저를 최대한 작게, 솔버 역할로만 만들어야지 Nix와 쉽게 연동될 수 있다. Nix가 다른 건 다 포용해줘도, 쓸데없는 IO 많이 발생시키는건 쉽게 안 봐준다. 다른 옵션으로, 만약 Nix를 안 쓰겠다면(합리적인 이유들이 있음), 차라리 Bazel/Buck과 같은 범용 빌드시스템을 위한 해당 언어의 플러그인/rule 같은걸 만드는 것도(이것도 거의 버전 solver에 가까울 거다), 큼지막한 패키지 매니저를 개발하는걸 피함과 동시에, 결과적으로 더 나은 결과를 얻을수 있다.

4
1
1
0
0
12
0
0
0
1
1
3
1
1
1
0
2
1
0
0
0
1

“키라라의 수상 소감이 화제가 된 건 트랜스젠더 당사자로서 ‘망설일 수밖에 없는 말’을 망설임 없이 하기까지 어떤 고단한 시간과 슬픔을 견디었을지 모두에게 공명되었기 때문이다. 나 역시 바로 눈물이 핑 돌았다. 음악가가 감격에 들뜬 수상 소감을 말할 기회가 주어졌을 때 영광에 기대는 대신 세상을 위한 기도를 올렸으니까.”

“트랜스젠더”…5글자 수상 소감 [한채윤의 비 온 뒤 ...

0
0
3
0
0
2
0
1
1
0

<오마이뉴스>는 지난 11일 화상 인터뷰를 통해 세 지역 청년과 대담을 진행했다. 12년 전 종교 탄압을 피해 한국으로 온 이란 청년 소니아 사다트만트(29, 여)씨, 한국에서 석사 과정을 밟고 있는 가자지구 청년 타렉 함단(25, 남)씨, 팔레스타인과 연대하는 한국시민사회 긴급행동 소속으로 최근 이란 공습 규탄 기자회견을 진행한 한국 청년 김원(26, 남)씨가 그 주인...

<오마이뉴스>는 지난 11일 화상 인터뷰를 통해 세 지...

0

프로그램 무료전환하니까 아니나 다를까 트위터에서도 관련 문제제기가 있었구나... 자기가 AI구독료 내서 만들었으니까 돈 받아야한다는 주장은 말도 안 되고 ㅋㅋㅋ 바이브코딩은 그럴듯하게 흉내만 내는거지 정말 유지보수에 책임질 수 없다면 그건 유료로 배포해선 안된다 생각햐... 저도 exe파일 자체에 대한 신뢰성은 장담 못하기 때문에 그렇습미... 그티만? 코드 자체는 내가 짯으므로 재배포 금지는 달거애

0
1

Ubuntu 26.04 LTS Release Party & InstallFest @Daejeon

우분투 26.04 LTS 출시를 기념하여, 우분투한국커뮤니티에서 Ubuntu 26.04 LTS 릴리즈 파티가 열릴 예정입니다. 이번 행사는 그동안 정체되었던 대전 지역 행사를 다시금 활성화하고자 대전광역시에서 진행될 예정입니다. 무료로 등록 및 참석이 가능하니, 많은 참여 바랍니다! 행사 일정 13:00 ~ 13:30: 체크인 및 모각코 13:30 ~ 14:30: Ubuntu 26.04 LTS 버전에서 달라진 점 알아보기 14:30 ~ 16:00: Ubuntu 26.04 LTS 데스크탑 버전 설치해보기 16:00 ~ 17:00: 네트워킹 및 폐회 안내사항 - 본 행사는 실습을 진행해볼 수 있는 행사이므로 아래와 같은 준비물을 챙겨오시면 좋습니다. - 우분투를 설치할 기기(VirtualBox 등 가상머신으로도 가능) - 우분투를 설치하는데 쓰일 미디어(USB 등) - 부득이하게 참석을 못하시는 경우, 반드시 등록기간 안에 등록 취소를 해주시기 바랍니다. - 행사 관련 문의는 contact@ubuntu-kr.org 로 해주시기 바랍니다. > 행사 안내: https://discourse.ubuntu-kr.org/t/ubuntu-26-04-lts-release-party-installfest-daejeon/50472 > 신청하기: https://event-us.kr/m/122004/51288

📅 2026-05-02 13:00 — 17:00 (GMT+9)

Register here · Details

0
1

안녕하세요, 우분투한국커뮤니티입니다.

오늘부터 @moim.liveMoim 플랫폼을 통해서도 우분투한국커뮤니티의 행사를 확인해 보실 수 있게 되었습니다.

이에 따라 게시되는 행사들은 @ubuntukrorg@moim.liveUbuntu Korea Community 채널에도 함께 소개되므로, 행사 부문만 구독해 보실 분들께서는 해당 채널의 팔로우도 고려해 보시면 좋을 것 같습니다 :)

※ moim.live를 통한 행사 안내는 현재 시범 서비스이며, 향후 내부 사정에 의해 중단될 수 있습니다.

0
0

🚨 BREAKING 🚨

The UK Information Commissioner's Office and Ofcom are pushing for tech companies to strengthen age checks.

It's disastrous that the ICO wants to somehow 'protect children’s data' by compelling 13-18 year olds to use poorly regulated digital identification products that could put their biometric data at risk.

independent.co.uk/news/uk/home

0
4
0
0
2
0
2
0
0
1
0
3
0
0
0