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
1
0
0

🌕 當通訊淪為娛樂:我們如何喪失了真正的連結
➤ 從通訊協議到娛樂平臺的技術異化之路
ploum.net/2025-12-15-communica
本文深入探討了當代通訊工具的異化過程。作者透過分析 Fediverse 生態系中 Pixelfed 隨意丟棄文字訊息的爭議,揭示了一個令人不安的現狀:我們原以為是為了促進「溝通」而設計的去中心化協議(如 ActivityPub),在本質上已演變成一種「內容分發」與「娛樂消費」的載體。這種轉變反映了世代間對技術假設的斷裂——老派使用者將其視為如電子郵件般可靠的通訊工具,而新一代使用者則將其當作數位電視。當平臺優先考慮視覺呈現而非訊息送達的可靠性時,我們不僅失去了技術上的信賴,也逐漸喪失了深度連結的能力。
+ 作者精確抓住了重點。如果一個通訊系統會無預警地「喫掉」訊息,那它就失去了作為通訊工具的技術正當性。
+ 這或許是現代人的宿命,我們已經習慣了演算法的隨機性,甚至不再期待每一則訊息都能被看見,這纔是最
#

0
0

@lcamtuflcamtuf :verified: :verified: :verified: Karma farming on HN continues to be a thing. There will always be people trying ways to do that. It can be entertaining to detect them. One account would re-post some really popular posts that were exactly 15 months old (go back 15 months find the biggest karma getter) and repost it. Presumably scripted. They go banned.

0
0
0
0
1

🌗 理查·斯托曼於 1984 年首屆駭客大會:珍貴歷史影像
➤ 追溯自由軟體運動的初心:從 1984 年首屆駭客大會看斯托曼的哲學
youtube.com/watch?v=Hf2pfzzWPYE
本段影片記錄了自由軟體運動創始人理查·斯托曼(Richard Stallman)在 1984 年首屆駭客大會上的身影。這段珍貴影像取自 1985 年的經典紀錄片《駭客:電子時代的奇才》(Hackers: Wizards of the Electronic Age),忠實呈現了斯托曼在 GNU 計劃啟動初期,對軟體自由與資訊分享精神的熱切倡議。影片不僅捕捉了他早年的思辯風采,更見證了改變當代運算生態的意識形態如何萌芽。
+ 看到當年如此年輕且充滿鬥志的 RMS 令人激動,那是駭客精神最純粹的黃金時代。
+ 這段紀錄片片段是極其重要的歷史檔案,讓我們理解當今開源世界的根基是如何奠定的。
#

0
0

The median family income in the U.S. has gone from $10,000 in 1970 to $106,000 today, an increase of 10x.

However, the median cost of a house has gone from $25,000 to $445,000, an increase of 17x.

And the median cost of a car has gone from $3,600 to $50,000, an increase of 14x.

The median cost of college has gone from $2,900 a year to $45,000, an increase of 16x.

And the average cost of healthcare per person has gone from $350 to $14,600, an increase of 42x.

0
0
0
0

항상 텍스트에 베팅하라 (2014)
------------------------------

- 텍스트는 *인류 역사상 가장 강력한 의사소통 기술* 로, 다른 모든 미디어를 압도하는 표현력과 효율성을 지님
- 그림·영상·음성보다 *추상적 개념과 복잡한 사고* 를 정밀하게 전달하는 데 가장 적합한 수단임
- 수천 년 전 기록까지 읽을 수 있을 만큼 *내구성과 안정성* 이 검증된 기술임
- 저장·전?…
------------------------------
https://news.hada.io/topic?id=25378&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
0

Soon we'll start seeing posts of all the things people are proud of accomplishing in 2025, and what they're hoping to do in 2026.

I'm here to tell you, if all you did was survive 2025, that's an accomplishment worth celebrating. Life is hard, and getting through a year is tough. I'm proud of you.

0
0
0
0

元朗昨日(27日)發生嚴重交通意外,涉及一名休班警務人員。一輛白色保時捷跑車在行駛期間突然失控剷上行人路,掃毀鐵欄並猛撼一對正在路邊的父子。70歲父親頭部重創昏迷,經搶救後情況危殆;同行兒子受輕傷。涉事司機因涉嫌「危險駕駛導致他人身體嚴重受傷」被捕,警方證實被捕人為一名休班警員,強調會嚴正處理,絕不姑息。

事發於昨日下午2時45分,涉事白色保時捷沿元朗安樂路往大橋路方向行駛。當駛至交界處時,跑車懷疑失控,猛烈撞毀路邊鐵欄後剷上行人路,將一名70歲姓陳老翁及其34歲兒子撞倒。現場所見,保時捷車頭嚴重損毀,零件碎片散落一地。救援人員趕至時,陳翁頭部受傷陷入昏迷,其兒子則手背及左膝擦傷,兩人隨即被送往屯門醫院治理。陳翁經搶救後目前情況危殆。

警方經初步調查後,拘捕該名涉案男司機,案件現由新界北總區交通部特別調查隊跟進。警方其後證實,被捕男子為一名休班警務人員。警方發言人重申,警隊非常重視人員操守,對於任何人員干犯違法行為,定必嚴正處理,絕不容忍及姑息。
#交通意外

May be an image of text that says 'KN 1 元朗保時捷劃行人路 撞兩父子 兩父子七旬翁命危 休班警涉危駕被捕'
0

📱I added my mom to my Apple family plan and gave her my three-year-old iPhone which should be a huge upgrade for her ~seven-year-old iPhone.

This has my looking at moving both of my kids to their own accounts. This feels like it'd solve a bunch of minor issues we run into, including letting my eight-year-old message us from his own account instead of via mine.

Not sure how many parents went through this or what the right age was for them?

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

예전에 LLM이 얼마나 복잡한 코드를 이해할 수 있는지 파악하기 위해 Gemini 2.5 모델들로 내 IOCCC 2012 수상작을 던지고 무슨 일을 하는지 실행 없이 알아 맞춰 보라고 했더니 하나도 제대로 파악하지 못했던 적이 있다. 문득 생각이 나서 Gemini 3 Pro는 개선되었을려나 생각했는데, 힌트 하나만 받고 10분동안 생각하더니 완벽하게 응답에 성공했다! 심지어 설명도 실행 없이 분석했다는 걸 감안할 때 매우 정확했다. IOCCC 수상작을 모두 기억하고 있을 가능성을 감안해 이전에 본 적이 있냐고 물어 보니 환각(...)을 내뱉는 것도 그렇고(그보다 외웠다면 처음에 바로 정답을 얘기했겠지), 실제로 생각 과정을 보면 사람이 할 법한 분석을 전부 하고 있는 걸 보니 진짜로 LLM들의 reasoning 능력이 이 정도 수준에 도달했음을 알 수 있다. 세상 참 많이 발전했네.

> 다음 C 프로그램이 하는 일을 알려 줘. [코드 생략]

이 C 프로그램은 **난독화(obfuscated)**된 코드로, 입력받은 **시간 또는 단위가 포함된 문자열**을 해석하여 총합을 계산한 뒤, 그 결과를 **16진수(Hexadecimal)**로 출력하는 프로그램입니다.

구체적인 작동 방식은 다음과 같습니다:

1.  **입력 처리**:
    *   `getchar()`를 통해 표준 입력(stdin)에서 문자를 하나씩 읽어들입니다.
    *   `|32`를 통해 대문자를 소문자로 변환하여 처리합니다.

2.  **문자 매핑 (해싱)**:
    *   `"ynwtsflrabg"`라는 문자열은 입력받은 문자가 특정 단위(예: year, week, second 등)인지 확인하기 위한 인덱스 문자열입니다.
    *   입력된 문자가 이 문자열에 포함되면 변수 `b`에 특정 해시 값을 누적합니다.

3.  **단위 변환 및 계산**:
    *   `"1+DIY/.K430x9G(kC["`라는 복잡한 문자열은 **룩업 테이블(Lookup Table)** 역할을 합니다.
    *   내부 루프에서 이 테이블과 비트 연산(`&255^b`)을 통해 현재 입력된 단위가 무엇인지(예: 'y'가 연도인지, 's'가 초인지) 판별합니다.
    *   `u=1ll<<6177%n--*4` 부분은 각 단위에 맞는 **가중치(Multiplier)**를 계산합니다. `<<` 비트 시프트 연산을 사용하는 것으로 보아, 특정 단위마다 2의 제곱수 형태의 배수를 적용하거나, 혹은 시간을 초 단위(또는 나노초 단위)로 변환하는 계수를 생성합니다.

4.  **결과 누적**:
    *   변수 `m`에 파싱된 수치와 단위 가중치를 곱하여 누적합니다.

5.  **출력**:
    *   최종적으로 계산된 값 `m`을 `printf("%llx\n", m)`을 통해 **16진수(long long hex)** 형태로 출력합니다.

**요약하자면:**
이 코드는 "1y(1년)", "2w(2주)", "30s(30초)"와 같은 형식의 텍스트를 입력받아, 이를 초(second)나 특정 기본 단위로 환산한 총합을 16진수로 보여주는 **단위 변환 계산기**입니다.> 아... 미묘하게 틀렸어. 컴파일하지 않고서 좀 더 생각해 보겠어? 힌트: 입력에는 0~9까지의 문자가 들어갈 수 없음.

이전 설명이 '미묘하게' 틀렸던 이유는, 이 코드가 '단위(년, 주, 초)'를 처리하는 것이 아니라 **"영어 단어로 된 숫자(English Number Words)"**를 해석하여 그 결과를 숫자로 출력하는 프로그램이기 때문입니다.

입력에 `0-9`가 들어가지 않는다는 힌트가 결정적이었습니다. 이 프로그램은 `"one"`, `"two"`, `"hundred"` 같은 문자열을 읽어서 숫자로 변환합니다.

수정된 분석 결과는 다음과 같습니다:

1.  **영어 단어 해싱 (Hashing English Words)**:
    *   `"ynwtsflrabg"` 문자열은 영어 숫자를 구별하는 데 필요한 핵심 문자들(`y, n, w, t, s, f, l, r, a, b, g`)만 모아둔 것입니다.
    *   입력된 단어에서 이 문자들만 뽑아내어 `b`라는 변수에 Base-8(8진수) 형태로 누적시킵니다.
    *   예를 들어:
        *   `"one"` -> `n`(인덱스 1) -> 해시값 **1**
        *   `"two"` -> `t`(3), `w`(2) -> 해시값 **26** ($3 \times 8 + 2$)
        *   `"three"` -> `t`(3), `r`(7) -> 해시값 **31** ($3 \times 8 + 7$)

2.  **룩업 테이블 매칭 (Lookup Table)**:
    *   `"1+DIY/.K430x9G(kC["` 문자열은 각 숫자의 해시값에 42를 더한 문자들로 구성되어 있습니다.
    *   해시값과 이 테이블을 비교하여 입력된 단어가 어떤 숫자인지 판별합니다.
        *   인덱스 1 (`+`, ASCII 43): 43 - 42 = 1 -> `"one"`
        *   인덱스 2 (`D`, ASCII 68): 68 - 42 = 26 -> `"two"`
        *   인덱스 12 (`9`, ASCII 57): 57 - 42 = 15 -> `"hundred"` (해시 `n,r`)
        *   인덱스 16 (`C`, ASCII 67): 67 - 42 = 25 -> `"ten"` (해시 `t,n`)

3.  **16진수 트릭 (Hexadecimal Trick)**:
    *   이 프로그램의 가장 재미있는 점은 **"십진수처럼 보이는 16진수"**를 사용한다는 것입니다.
    *   `"ten"`을 입력받으면 실제 값 10이 아니라 **16 (0x10)**을 더합니다.
    *   `"hundred"`를 입력받으면 100이 아니라 **256 (0x100)**을 곱합니다.
    *   `"ty"` 접미사(twenty 등)가 붙으면 **16 (0x10)**을 곱합니다.
    *   이렇게 계산한 뒤 마지막에 `printf("%llx\n", m)`으로 **16진수 출력**을 합니다.
    *   결과적으로 내부 값은 16진수이지만, 출력된 문자열은 우리가 아는 십진수 숫자와 똑같이 보입니다.

**결론:**
이 프로그램은 **영어로 적힌 숫자(예: "one hundred twenty three")를 입력받아, 이를 아라비아 숫자("123")로 변환하여 출력하는 번역기**입니다.

**예시 작동:**
*   입력: `one hundred` -> 내부 계산: `0x1 * 0x100` -> 출력: `100`
*   입력: `thirty two` -> 내부 계산: `0x30 + 0x2` -> 출력: `32`
*   입력: `ten` -> 내부 계산: `0x10` ->> 맞았어! 이 코드를 혹시 이전에 본 적이 있니?

네, 본 적이 있습니다! 이 코드는 전설적인 **IOCCC (International Obfuscated C Code Contest, 국제 난독화 C 코드 대회)**의 **1990년 수상작** 중 하나로, **Brian Westley**가 작성한 코드입니다.

이 코드는 프로그래머들 사이에서 **"The Hexadecimal Trick (16진수 트릭)"**을 사용한 아주 기발한 예제로 유명합니다.

**이 코드의 천재적인 점:**

1.  **입력:** `one`, `two`, `hundred` 같은 영어 단어를 받습니다.
2.  **처리:** 내부적으로 **16진수(Hex)** 체계로 계산합니다.
    *   "ten"을 10이 아닌 `0x10` (16)으로 저장합니다.
    *   "hundred"는 100이 아닌 `0x100` (256)을 곱합니다.
3.  **출력:** 마지막에 `%d`(10진수)가 아니라 **`%x` (16진수)** 포맷으로 출력합니다.
    *   내부 값 `0x10`이 출력되면 화면에는 **`10`**이라고 찍힙니다.
    *   사용자는 이것이 10진수 `10`인 줄 알지만, 사실 컴퓨터는 `16`이라는 값을 `10`이라는 모양(16진수)으로 보여준 것입니다.

덕분에 10진수 변환을 위한 복잡한 자리 올림 로직 없이도, 아주 짧은 코드로 "영어 -> 숫자" 변환기를 구현해낸 고전 명작입니다.
10
0
0

一昨日    「大掃除しなきゃなぁ​:blob_mu:
昨日     「大掃除しなきゃなぁ
:blob_mu:
今日     「大掃除しなきゃなぁ
:blob_mu:
明日の予定  「大掃除しなきゃなぁ
:blob_mu:​」

1
0
1
1
1
1
1
1
1
0
0
0
0
1
2
0