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

Was sind 0,1% im Haushalt von Hamburg? Ein austauschbarer Zusatzerlรถs. Lรคcherlich.

Es ist dafรผr nicht notwendig, die zu verscherbeln und so zu verschandeln, dass man beim Warten auf den Bus nicht mehr die StraรŸe herunterblicken kann.

Wir haben einen Finanzierungsvorschlag gemacht, der auf einer Erhรถhung der Tourismustaxe basiert - wรผrde ohne lรคstige flimmernde ja auch attraktiver.

Wenn der darauf gar nicht eingeht, sondern weiter versucht, die ร–ffentlichkeit mit den "50 oder 70 Millionen", die die Stadt "verlieren wรผrde", hinters Licht zu fรผhren, ist das zutiefst unredlich.

Die Vertrรคge mit und sind fรผr die Stadt kein Muss, sondern eine Entscheidung. Wir finden: eine schlechte.

Bushaltestelle Eppendorfer Weg (Ost). Blick in Richtung der ankommenden Busse. Man sieht das FIMS (Fahrtenanzeige), das Dach, den Automaten  ... und eine potthรคssliche Werbeanlage von JCDecaux, die mitten auf dem Gehweg der Haltestelle prangt.
0
0

์ผ๋ฒ  ํ์‡„์™€ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ทœ์ œ ์ด‰๊ตฌ 10๋งŒ ์„œ๋ช… ์šด๋™ ์„œ๋ช… ํ™ˆํŽ˜์ด์ง€: stoptheilbe.carrd.co ํ™ˆํŽ˜์ด์ง€์— ์ ‘์†ํ•ด 10๋งŒ ์„œ๋ช…์šด๋™์— ์ฐธ์—ฌํ•ด์ฃผ์„ธ์š”! ์ฃผ์ตœ: ์ฒญ๋…„์ง„๋ณด๋‹น ์ „๊ตญ๋Œ€ํ•™์ƒ์œ„์›ํšŒ(์ค€) X ์ผ๋ฒ ํ์‡„ ์„œํฌํ„ฐ์ฆˆ

0

๋‚ด๋ถ€์— ์นดํ”ผ๋ผ์ดํ„ฐ ๋˜๋Š” ์ „๋žต ๊ธฐํš์— ํ•ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ ์„ผ์Šค๊ฐ€ ๊น€๋‚œ๋„ ๊ต์ˆ˜ ๊ณ„์—ด์ธ ๋“ฏ. "๋จน์‚ฌ๋‹ˆ์ฆ˜์ด ์•„๋‹Œ ์ž˜์‚ฌ๋‹ˆ์ฆ˜์œผ๋กœ!" ์ •๋„๋ฉด ์ดํ•ดํ–ˆ์„ํ…๋ฐ ํŽธ์‚ฌ๋‹ˆ์ฆ˜ ๊ฟˆ์‚ฌ๋‹ˆ์ฆ˜์—์„œ ์‹ค์†Œํ–ˆ์Œ. ๋ถ„๋ช… ๋ฐ˜๋Œ€์ชฝ์—์„œ ์„ค์‚ฌ๋‹ˆ์ฆ˜! ์œ ์‚ฌ๋‹ˆ์ฆ˜! ํ•˜๋ฉด์„œ ๋น„์›ƒ์„ ๊ฒƒ.................. ํ•œํŽธ, ํŽ˜๋ฏธ๋‹ˆ์ฆ˜์— ๋Œ€ํ•ด ๋šœ๋ ทํ•œ ์ž…์žฅ์„ ๋ฐํžˆ์ง€ ์•Š๋Š” ๋ฏผ์ฃผ/์ง„๋ณด ์ •์น˜์ธ์ด ๋‹ค์ˆ˜์ธ ๊ฑธ ์ƒ๊ฐํ•˜๋ฉด ๋”์šฑ ๋ƒ‰์†Œ์ ์ด ๋จ.

RE: https://bsky.app/profile/did:plc:a6qvfkbrohedqy3dt6k5mdv6/post/3lo365hywlc2a

0
0
0
0

์ธ์ฒœ์—์„œ ํ•œ ์ค‘ํ•™์ƒ์ด ๊ธธ๊ฑฐ๋ฆฌ ์ „๋„ ํ™œ๋™์„ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋‚˜๋ˆ ์ค€ ์ดˆ์ฝœ๋ฆฟ์„ ๋จน๊ณ  ๋ณตํ†ต์„ ํ˜ธ์†Œํ•ด ๊ฒฝ์ฐฐ์ด ์ˆ˜์‚ฌ์— ๋‚˜์„ฐ์Šต๋‹ˆ๋‹ค. ์ง€๋‚œํ•ด 12์›”์—๋„ ๋น„์Šทํ•œ ์ผ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ธ์ฒœ์„œ ๊ต์ธ์ด ์ค€ ์ดˆ์ฝœ๋ฆฟ ๋จน์€ ์ค‘ํ•™์ƒ ์‘๊ธ‰์‹คํ–‰โ€ฆ๊ฒฝ์ฐฐ ์ˆ˜...

0
0
0

๊ต์ˆ˜๋‹˜ (๊ณต์ง€): "์ด ์ •๋„ ํ€„๋ฆฌํ‹ฐ ๋…ผ๋ฌธ์„ 2ํŽธ ์“ฐ๋ฉด ๋ฐ•์‚ฌ๋ฅผ ๋”ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž  ์•ˆ ์˜ฌ ๋•Œ ์ฝ์–ด๋ณด๋ฉด ๋„์›€์ด ๋  ๊ฒƒ" โ˜˜๏ธ "์ž ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋œ๋‹ค๊ณ ์š”?????"

0
0
0
0
0
0
0
0
1

ๅคงๅญฆใงใชใ‚“ใ‹ใฟใ‚“ใชใง่‡ช็”ฑใซใ‚ฐใƒซใƒผใƒ—ไฝœใฃใฆใฃใฆใ„ใ†ใ‚ฏใ‚ฝใ‚ดใƒŸใชใ‚„ใคใŒใ‚ใฃใฆไฝ™ใ‚Šใใ†ใซใชใฃใŸๅ…ญ่ง’ใƒฌใƒณใƒใงใ™โ€‹:blebcat_felt:โ€‹

1
1

Threadsใƒฆใƒผใ‚ถใฎไปŠๅ›žใฎๆททไนฑใƒใ‚คใƒณใƒˆใฏFediverseๅ…ฑๆœ‰้–ข้€ฃใ‹ใชใ€‚ใพใ‚ใ‚ใ‹ใ‚Šใซใใ„ใ‘ใฉ

ใ€ŒActivityPUBใจใ„ใ†ๅ…ฑ้€šใฎใƒซใƒผใƒซใ‚’็”จใ„ใฆใ€SNS้–“ใงใฎใƒ•ใ‚ฉใƒญใƒผใ‚„้–ฒ่ฆงใƒปใ‚ณใƒกใƒณใƒˆใฎใ‚„ใ‚Šใจใ‚ŠใŒใงใใ‚‹SNSใฎไป•็ต„ใฟใŒใ‚ใ‚Šใ€Threadsใ‚‚ใใ‚Œใฎไธ€ใคใงใ‚ใ‚‹ใ€

ใจใ„ใ†ใฎใŒ่ปธใซใ‚ใฃใฆใ€

ใ€Œ่‡ชๅˆ†ใงๆฉŸ่ƒฝใ‚’ใ‚ชใƒณใซใ™ใ‚‹ใ“ใจใงใ€ใ‚ตใƒผใƒ“ใ‚นๅค–ใซใ‚‚ๅบƒใ’ใ‚‹ไบ‹ใŒโ€ใงใใ‚‹โ€๏ผˆ้…ไฟกใ—ใชใ„ใ“ใจใ‚‚้ธในใ‚‹๏ผ‰ใ€
ใ€ŒThreadsใฏThreadsใฎใ‚ตใƒผใƒ“ใ‚นๅค–ใซใงใŸใƒ‡ใƒผใ‚ฟใซใคใ„ใฆ็ฎก็†ใ—ใใ‚Œใ‚‹ใ‚ใ‘ใงใฏใชใ„ใฎใงใ€ใใ“ใฏๅ…่ฒฌ่‡ชๅทฑ่ฒฌไปปใ‚„ใงใ€๏ผˆไพ‹ใˆใฐใ€ๅ‰Š้™คใ‚’ใ—ใฆใ€ๅ‰Š้™คใ‚ณใƒžใƒณใƒ‰ใ‚’ๅ‡บใ™ใŒๅ‰Š้™คใ•ใ‚Œใ‚‹ใ‹ใฏๅ€‹ใ€…ใฎใ‚ตใƒผใƒ“ใ‚นใซใ‚ˆใ‚‹๏ผ‰

ใฃใฆๆ„Ÿใ˜ใ€‚

0
0

Threadsใฎ่ฆ็ด„ใŒๅค‰ๆ›ดใซใชใ‚‹ใจใ„ใ†ใ“ใจใงใ€ไบบใ”ใจใงใ‚‚ใชใ„ใฎใงๆ–ฐๆ—งๆฏ”่ผƒใ—ใฆใพใจใ‚ใฆใฟใพใ—ใŸใ€‚fediversๅฏพๅฟœใฎใŸใ‚ใฎๆ›ดๆ–ฐใฃใฆๆ„Ÿใ˜ใ‹ใชใ€‚
https://note.com/neciethechappy/n/n6d7680c06b8d

Threadsๅˆฉ็”จ่ฆ็ด„(5/28)ใฎๅค‰ๆ›ด็‚นใ‚’ๆ–ฐๆ—งๆฏ”่ผƒ๏ฝœNecie The Chappy @ ใญใ—ใƒผใฎใ‚ขใƒชใƒใ‚คใ€ใ‚ญใƒฃใƒณใƒ—๏ผ†ใƒฌใ‚ถใƒผ ใƒใƒฃใƒณใƒใƒซใ€‘

Threadsใฏใ€Meta Platforms, Inc.๏ผˆไปฅไธ‹ใ€Meta๏ผ‰ใŒๆไพ›ใ™ใ‚‹ใ‚ฝใƒผใ‚ทใƒฃใƒซใƒกใƒ‡ใ‚ฃใ‚ขใƒ—ใƒฉใƒƒใƒˆใƒ•ใ‚ฉใƒผใƒ ใงใ‚ใ‚Šใ€Instagramใจ้€ฃๆบใ—ใชใŒใ‚‰็‹ฌ่‡ชใฎใ‚ตใƒผใƒ“ใ‚นใจใ—ใฆๅฑ•้–‹ใ•ใ‚Œใฆใ„ใพใ™ใ€‚2025ๅนด5ๆœˆ28ๆ—ฅใ€Threadsใฎๅˆฉ็”จ่ฆ็ด„ใŒๆ›ดๆ–ฐใ•ใ‚Œใ€ๆ—ง่ฆ็ด„ใ‹ใ‚‰ใฎๅค‰ๆ›ด็‚นใŒๆณจ็›ฎใ•ใ‚Œใฆใ„ใพใ™ใ€‚ๆœฌ่จ˜ไบ‹ใงใฏใ€ๆ—ง่ฆ็ด„ใจๆœ€ๆ–ฐ่ฆ็ด„ใ‚’่ฉณ็ดฐใซๆฏ”่ผƒใ—ใ€ใ™ในใฆใฎๅค‰ๆ›ด็‚นใ‚’ๆ•ด็†ใ—ใพใ™ใ€‚็‰นใซใ€ๅ•†ๆฅญๅˆฉ็”จใซ้–ข้€ฃใ™ใ‚‹้ƒจๅˆ†ใฎๅค‰ๆ›ดใฎๆœ‰็„กใ‚’็ขบ่ชใ—ใ€ใ“ใ‚Œใ‚‰ใฎๅค‰ๆ›ดใŒfediverse๏ผˆActivityPubใƒ—ใƒญใƒˆใ‚ณใƒซใ‚’็”จใ„ใŸๅˆ†ๆ•ฃๅž‹ใ‚ฝใƒผใ‚ทใƒฃใƒซใƒใƒƒใƒˆใƒฏใƒผใ‚ฏ๏ผ‰ใธใฎๆœฌๆ ผ็š„ใชๅฏพๅฟœใ‚’้€ฒใ‚ใ‚‹ใŸใ‚ใฎใ‚‚ใฎใงใ‚ใ‚‹ๅฏ่ƒฝๆ€งใซใคใ„ใฆ่€ƒๅฏŸใ—ใพใ™ใ€‚ 1

note.com ยท note๏ผˆใƒŽใƒผใƒˆ๏ผ‰

0
0

Here is a pro tip: Process substitution allows you to treat the output of a / command as if it were a file, or write output as if you were writing to a file, but have it piped into another command's input. It's handled by the shell like Bash or Zsh. Syntax:
<(command)
command1 <(command2)

Where you would normally put an input filename for a command, you can instead put <(some_other_command2)

0
0
2
0

Kok-tฤ“ng kรก-liฬt gรณa siลng-pan ร i sวนg siang pลe sin-sรบi, it-poaโฟ lรขi kรณng bลe pรขi gรณa siลng-pan.
ๅœ‹ๅฎšๅ‡ๆ—ฅๆˆ‘ไธŠ็ญ่ฆ็ฎ—้›™ๅ€่–ชๆฐด๏ผŒไธ€่ˆฌไพ†่ชชไธๆœƒๆŽ’ๆˆ‘ไธŠ็ญใ€‚

Mฬ„-koh thรขu-ke kรณng i hiรดng-hiรดng bรด-hoat-tลอ˜ ka-kฤซ siลng-pan, tioฬh mnฬ„g gรณa kรกm ลซ hoat-tลอ˜ siลng.
ไฝ†่€้—†่ชชไป–็ช็„ถๆฒ’่พฆๆณ•่‡ชๅทฑไธŠ็ญ๏ผŒๅฐฑๅ•ๆˆ‘่ƒฝไธ่ƒฝไธŠใ€‚

Khรญ sin-sรบi liรกu koh siang pลe, siลng--ah, tรณ chiฬt pรกi bรด ร i siลng. :sacabambaspis_normal:
ๅŠ ่–ชๅพŒๅˆ้›™ๅ€๏ผŒไธŠๅ•Š๏ผŒๅ“ชๆฌกไธไธŠใ€‚

Thร n sรญ--ah, thร n sรญ--ah. :blobhyperbounce:
่ณบ็ˆ›ไบ†๏ผŒ่ณบ็ˆ›ไบ†ใ€‚

0
0
0
0
0

ใƒปไปฃใ‚ใ‚Šใฎใ‚นใƒžใƒผใƒˆใƒ•ใ‚ฉใƒณใ‚’ไฝฟใฃใฆๆธก่ˆชใ™ใ‚‹
่ฆใ™ใ‚‹ใซใ€ๆ—…่กŒ็”จใฎใ‚นใƒžใƒผใƒˆใƒ•ใ‚ฉใƒณใซๅฟ…่ฆๆœ€ไฝŽ้™ใซๆ•ด็†ใ•ใ‚ŒใŸใƒ‡ใ‚ธใ‚ฟใƒซ็’ฐๅขƒใ‚’ใคใใ‚‹ใจใ„ใ†ใ“ใจใงใ‚ใ‚‹ใ€‚็†ๆƒณ็š„ใซใฏใ€ๆ—…่กŒๅฐ‚็”จใซใคใใฃใŸใƒกใƒƒใ‚ปใƒผใ‚ธใ‚ขใƒ—ใƒชใ‚„ใ‚ฝใƒผใ‚ทใƒฃใƒซใƒกใƒ‡ใ‚ฃใ‚ขใฎใ‚ขใ‚ซใ‚ฆใƒณใƒˆใ‚’ไฝฟใ†ใ“ใจใŒๆœ›ใพใ—ใ„ใ€‚
oh...

0

Hollo๏ผŒAWSใจใ‹GCPใฎไธŠใซ่ผ‰ใ›ใฆใ‚‚ใใ‚“ใชใซ่ฒป็”จใ‹ใ‹ใ‚“ใชใ„ใ‚“ใ˜ใ‚ƒใชใ„ใฎใฃใฆๆฐ—ใŒใ—ใฆใใŸ

0
0

2015ๅนดใซใฏ90%ใŒMTใ ใฃใŸๆฌงๅทžใ€ใ„ใพใงใฏใ‚‚ใ†32%ใซใพใงๆธ›ใฃใฆใ‚‹ใฎใ‹ใ€‚ใ‚„ใฃใฑใ‚ŠHEVๆ™ฎๅŠใงMTใ‚‚ใชใใชใฃใฆใใฆใ‚“ใ ใ‚ใ†ใชโ€ฆโ€ฆ / ไธ–็•Œๅ„ๅ›ฝใƒปๅœฐๅŸŸใฎMTๆฏ”็އใจใใฎๅค‰้ทใŒๅ…ฌ้–‹ใ€‚ๆฌงๅทžใงใฏ2017ๅนดใฎ78๏ผ…ใ‹ใ‚‰็›ด่ฟ‘ใงใฏ32๏ผ…ใซๆธ›ๅฐ‘ใ€ไธญๅ›ฝใงใฏ4๏ผ…ใ€ๆ—ฅๆœฌใงใฏ2๏ผ…ใ€ๅŒ—็ฑณใฏ1๏ผ…ใ€้Ÿ“ๅ›ฝใงใฏใชใ‚“ใจ0๏ผ… intensive911.com/car-related-t

0
0
0
0

์›น ์•ฑ๋“ค์ด ์นด๋ฉ”๋ผ, ์œ„์น˜ ๋“ฑ ๊ถŒํ•œ์„ ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญํ•˜๊ณ  ์žˆ๋Š”์ง€, ์‚ฌ์šฉ์ž๊ฐ€ ์ด์— ์–ด๋–ป๊ฒŒ ๋ฐ˜์‘ํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์—ฐ๊ตฌ. ๋งŽ์€ ์›น ์‚ฌ์ดํŠธ๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•„๋ฌด๋Ÿฐ ๋งฅ๋ฝ์—†์ด ๊ถŒํ•œ์„ ์š”์ฒญํ•œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ถŒํ•œ์ด ์™œ ํ•„์š”ํ•œ์ง€ ์„ค๋ช…ํ•˜๋ฉด ํ—ˆ์šฉ๋ฅ ์ด ๋†’์•„์กŒ๊ณ , ๊ธ์ •์ ์ธ ํ†ค์œผ๋กœ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋ฉด ํ—ˆ์šฉ๋ฅ ์ด 18% ์ฆ๊ฐ€ํ•œ๋‹ค. ํ…์ŠคํŠธ๋งŒ ๋ณด์—ฌ์ฃผ๊ธฐ ๋ณด๋‹ค๋Š” UI ์š”์†Œ๊ฐ€ ์žˆ์„ ๋•Œ ํ—ˆ์šฉ๋ฅ ์ด ๋” ๋†’์•˜๋Š”๋ฐ, ์˜ค๋ฒ„๋ ˆ์ด(+41%) ๋˜๋Š” ์ „์ฒดํ™”๋ฉด(+33%)์œผ๋กœ ๊ถŒํ•œ์„ ์š”์ฒญํ•˜๋ฉด ํ—ˆ์šฉ๋ฅ ์ด ๋Š˜์ง€๋งŒ ์‚ฌ์šฉ์ž์˜ ๋ถˆ๋งŒ์กฑ๋„ ๋†’์•„์กŒ๋‹ค. programs.sigchi.org/chi/2025/p

Permission Rationales in the Web Ecosystem: An Exploration of Rationale Text and Design Patterns
3

ๆดช ๆฐ‘ๆ†™ (Hong Minhee) shared the below article:

์—…์ž๋ฅผ ์œ„ํ•œ ์•„์ฃผ ์ธํฌ๋ฉ€ํ•œ ๋ชจ๋‚˜๋“œ ์„ค๋ช…

lionhairdino @lionhairdino@hackers.pub

1.

ํ•จ์ˆ˜ํ˜•์—์„ , ์ŠคํŠธ๋ฆผ [1,2,3]์—
(+1)์„ mapํ•ด์„œ [2,3,4]๋ฅผ ๋งŒ๋“ค๊ณ ,
(+2)๋ฅผ mapํ•ด์„œ [3,4,5]๋ฅผ ๋งŒ๋“œ๋Š” ์ž‘์—…์„,
(+2) โˆ˜ (+1)๋ฅผ [1,2,3]์— mapํ•˜๋Š” ๊ฑธ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

(+1), (+2), ((+2) โˆ˜ (+1)) ํ•จ์ˆ˜๋“ค์€ ๋ชจ๋‘ Int -> Int ํ•จ์ˆ˜๋ฅผ ์›ํ•˜๋Š” ๊ณณ์— ๋„ฃ์–ด ์ค„ ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋“ค์ด๋‹ค.

์œ„์™€ ๊ฐ™์ด, ์™„๋ฒฝํ•˜๊ฒŒ ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์ง„ ์•Š์ง€๋งŒ, ๊ฐ™์€ "๋ฅ˜"์˜ ์ž‘์—…์„ ๋‘ ๋ฒˆ ํ•˜๋Š” ๊ฒƒ์„, ํ•œ ๋ฒˆ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์œผ๋กœ, "hello"๋ฅผ ๋กœ๊ทธ๋กœ ๋‚จ๊ธฐ๊ณ , ๋‘ ๋ฒˆ์งธ ์ž‘์—…์œผ๋กœ, " world"๋ฅผ ๋กœ๊ทธ๋กœ ๋‚จ๊ธฐ๋Š”๋ฐ, ์ด๋ฅผ ํ•œ ๋ฒˆ์˜ ์ž‘์—…์œผ๋กœ, "hello world"๋ฅผ ๋กœ๊ทธ๋กœ ๋‚จ๊ธฐ๋Š” ์ž‘์—…์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ๋Š” ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๋Š” ํšŸ์ˆ˜ ์ •๋ณด๋Š” ํ•„์š” ์—†๊ณ , ์ตœ์ข… ๋กœ๊ทธ๋งŒ ํ•„์š”ํ•˜๋‹ค๋Š” ์ธ์œ„์  ์ •๋ณด ์„ ํƒ์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค. ์ด ์ธ์œ„์  ์„ ํƒ(์—ฌ๊ธฐ์„  ๋กœ๊ทธ ๋ฌธ์ž์—ด์„ ํ•ฉ์น˜๋Š” ๊ฒƒ)์„ ์ˆ˜๊ธํ•ด์•ผ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๋Š” ์ž‘์—…์„ m์ด๋ผ ๋ถ€๋ฅผ ๋•Œ, m a๋ฅผ ๋ฐ›๋Š” ๊ณณ์— m (m a)๋ฅผ ๋„˜๊ธธ ๋ฐฉ๋ฒ•์ด ์ƒ๊ธด๋‹ค๋Š” ๋œป์ด๋‹ค. ๋‹ฌ๋ฆฌ ๋งํ•˜๋ฉด, m (m a)๋กœ ํ‘œํ˜„๋˜๋Š” ์ž‘์—…์„ ์ธ์œ„์ ์ธ ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์ณ m a๋กœ ๋งŒ๋“ค์–ด๋„, ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ์ •๋ณด๋Š” ์‚ฌ๋ผ์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ด๋‹ค.

2.

๋ฌด์–ธ๊ฐ€๊ฐ€ ํ•˜๋‚˜์ธ๋ฐ, ์œ ์‹ฌํžˆ ๋ณด๋ฉด ํ•˜๋‚˜๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ, ์ด๊ฒŒ ๋ฐ”๋กœ ๋ชจ๋…ธ์ด๋“œ๋‹ค. mono๋Š” ํ•˜๋‚˜๋ฅผ ๋œปํ•˜๊ณ , ~oid๋Š” "์ฒ™"ํ•˜๋Š” ๊ฑธ ๋งํ•œ๋‹ค. (์˜ˆ. ์ธ๊ฐ„์ธ ์ฒ™ ํ•˜๋Š” ํœด๋จธ๋…ธ์ด๋“œ) ํ•˜๋‚˜์ธ์ฒ™ ํ•˜๋Š” ๊ฒŒ ๋ชจ๋…ธ์ด๋“œ๋‹ค. ์ˆ˜ํ•™ ์ฑ… ์•ž ๋ถ€๋ถ„์—์„œ ์ดํ•ญ ์—ฐ์‚ฐ, ๊ฒฐํ•ฉ ๋ฒ•์น™, ํ•ญ๋“ฑ์›์ด ์žˆ์œผ๋ฉด ๋ชจ๋…ธ์ด๋“œ๋ผ๋Š” ์„ค๋ช…์„ ํ•˜๋Š”๋ฐ, ๊ทธ๋ž˜์„œ ๋ชจ๋…ธ์ด๋“œ๊ฐ€ ๋ญ์— ์“ฐ๋Š” ๋ฌผ๊ฑด์ธ์ง€๋Š” ํ•œ์ฐธ ๊ณต๋ถ€ํ•ด์•ผ ์•Œ ๊ฒŒ ๋œ๋‹ค.

(์•„๋ž˜๋Š” ํ˜ผ์ž๋งŒ์˜ ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.)
๋ชจ๋…ธ์ด๋“œ๋ฅผ ๋ฐ”๋ผ ๋ณด๋Š” ๋ˆˆ ์ค‘ ํ•˜๋‚˜๋กœ, "๋ชจ๋“  ๋Œ€์ƒ์„ ์ดํ•ญ ์—ฐ์‚ฐ์œผ๋กœ ํ‘œํ˜„"์„ ๋“ค ์ˆ˜ ์žˆ๋‹ค.

0์„ ํฌํ•จํ•œ ์ž์—ฐ์ˆ˜๋“ค 0,1,2,3,... ๋“ค์€, + ์ดํ•ญ ์—ฐ์‚ฐ๊ณผ, ์ด ์—ฐ์‚ฐ์˜ ํ•ญ๋“ฑ์› 0์ด ์žˆ์œผ๋ฉด, ๋ชจ๋‘ โ—‹ + โ—‹ ํ•œ ๊ฐ€์ง€ ๋ชจ์–‘์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
0 -> 0+0
1 -> 0+1
2 -> 0+(1+1) = 1+1
...
๋ชจ๋…ธ์ด๋“œ ๊ตฌ์กฐ์ด๊ธฐ์—, ์–ด๋”˜๊ฐ€์—์„œ โ—‹ + โ—‹ ๋ชจ์–‘์„ ์›ํ•œ๋‹ค๋ฉด, 0,1,2,3,...์„ ๋ชจ๋‘ ๋„ฃ์–ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.

3.

"์–ด๋”˜๊ฐ€์—์„œ m a๋ฅผ ์›ํ•œ๋‹ค๋ฉด, m a, m (m a), m (m (m a)), ...๋ฅผ ๋ชจ๋‘ ๋„ฃ์–ด ์ค„ ์ˆ˜ ์žˆ๋‹ค."๋ฅผ ์œ„์™€ ๋น„๊ตํ•˜๋ฉฐ ๋ณด์ž.

์œ„์—์„œ ์–˜๊ธฐํ•œ ์ธ์œ„์  ์„ ํƒ ์ž‘์—…์„ join์œผ๋กœ ํ‘œํ˜„ํ•˜๋ฉด,
m (m a) --join--> m a
m (m (m a)) --join--> m (m a) --join--> m a
...
m ๋ฐ˜๋ณต ์ž‘์—…์„ ๋ชจ๋‘ โ—‹ --join--> โ—‹ ๋ชจ์–‘์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ๋งŒ ๊ฐ™๋‹ค. ๊ทธ๋Ÿฐ๋ฐ, ๋”ฑ ํ•˜๋‚˜๋Š” ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•œ๋‹ค. join์€ m์ด ๋‘ ๊ฐœ ์žˆ๋Š” ๊ฑธ, ํ•˜๋‚˜๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…์ด๋ผ, mํ•˜๋‚˜๋ฅผ โ—‹ --join--> โ—‹๋กœ ํ‘œํ˜„ํ•˜์ง€ ๋ชปํ•œ๋‹ค. m์„ join์ด ๋“ค์–ด๊ฐ„ ๋ชจ์–‘์œผ๋กœ ํ‘œํ˜„ํ•˜๋ ค๋ฉด, ์ž์—ฐ์ˆ˜, + ์—์„œ ์ฒ˜๋Ÿผ 0์— ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค. mํ•˜๋‚˜๋ฅผ, m ๋‘ ๊ฐœ๋กœ ๋งŒ๋“ค๋˜, ์ตœ์ข… ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š” pure๋ผ๋Š” ์ž‘์—…์„ ๋งŒ๋“ ๋‹ค. ์œ„ ๋กœ๊ทธ ์ž‘์—…์„ ์˜ˆ๋กœ ๋“ค๋ฉด, ๋กœ๊ทธ๋กœ ๋นˆ๋ฌธ์ž ""์„ ์ถ”๊ฐ€ํ•˜๋Š” ์ž‘์—…์„ pure๋กœ ๋งŒ๋“ ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ์•ผ ๋น„๋กœ์†Œ, ๋ชจ๋“  ๋ฐ˜๋ณต๋œ m ์„ join์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค

m a --pure--> m (m a) --join--> m a
m (m a) --join--> m a
m (m (m a)) --join--> m (m a) --join--> m a
...

์ด์ œ, join์ ˆ์ฐจ๊ฐ€ ํ•ญ์ƒ ์žˆ๋Š” m a๋ฅผ ์›ํ•˜๋Š” ๊ณณ์— m a๋„ m (m (m a))๋„ ๋„ฃ์–ด ์ค„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. "hello"์™€ " world"๋ฅผ ๋‚จ๊ธฐ๋˜ ๋‘ ๊ฐœ์˜ ์ž‘์—… ํ•ฉ์ณ, "hello world"๋ฅผ ๋‚จ๊ธฐ๋Š” ํ•˜๋‚˜์˜ ์ž‘์—…์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.

โ€ป ์ง€๊ธˆ ๋ˆˆ์— ๋ช…ํ™•ํžˆ ๋ณด์ด์ง„ ์•Š์ง€๋งŒ, m ๋‘˜์„ ํ•ฉ์„ฑํ•˜๋Š” ์—ฐ์‚ฐ์„ .์ด๋ผ ํ•˜๋ฉด, .๋งŒ์œผ๋ก  ๋ชจ๋…ธ์ด๋“œ ์ดํ•ญ ์—ฐ์‚ฐ ์—ญํ• ์„ ๋ชปํ•˜์ง€๋งŒ, join์˜ ๋„์›€์„ ๋ฐ›๊ณ , id ๋งŒ์œผ๋ก  ํ•ญ๋“ฑ์› ์—ญํ• ์„ ๋ชปํ•˜์ง€๋งŒ, pure์˜ ๋„์›€์„ ๋ฐ›์•„ ๋ชจ๋…ธ์ด๋“œ ๊ตฌ์กฐ๋ฅผ ์ด๋ฃฌ๋‹ค.

๊ฒฐ๋ก .

๋‹น์—ฐํžˆ ๋ชจ๋“  ๋‚ด์šฉ์ด ๋‹ด๊ฒจ ์žˆ์ง„ ์•Š๊ณ , ๋ชจ๋‚˜๋“œ๋ฅผ ๋ฌด์—‡์˜ ๋ชจ๋…ธ์ด๋“œ๋กœ ๋ณด๋Š” ๋‚ด์šฉ์„ ๋น„์ˆ˜ํ•™์ ์œผ๋กœ ํ’€์–ด ๋ดค๋‹ค. ๋ชจ๋…ธ์ด๋“œ๋Š” ๋ชจ๋‘๋ฅผ ํ•˜๋‚˜์˜ ๋ชจ์–‘์œผ๋กœ ํ‘œํ˜„ ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ, ๋ณด์ฆํ•ด์ฃผ๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ฐœ๋…์ด์ง€๋งŒ, ์—…์ž์ธ ๋‚˜์—๊ฒ "๊ทธ๋ ‡๊ฒŒ ํ•ด๋„ ๋œ๋‹ค"๋Š” ์ •๋„์˜ ๋А๋‚Œ๋งŒ ์žˆ๋‹ค. (๊ฒฐํ•ฉ ๋ฒ•์น™์ด ๋น ์กŒ๋Š”๋ฐ, ๋‚˜์ค‘์— ์ฝ”๋“œ๋ฅผ ๋ชจ๋“ˆํ™” ํ•˜๋Š” ๊ฒƒ๊ณผ ์—ฐ๊ด€์ง€์–ด ๋ณด๋ฉด, ๋ช…ํ™•ํ•œ ๋Œ€์‘์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.)

๋ชจ๋‚˜๋“œ๋Š”, ์กฐ๊ธˆ ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ธด ๊ฒƒ์„, ๋‹น์žฅ ํ•„์š”ํ•œ ์š”์†Œ๋งŒ ์ž˜ ๊ด€๋ฆฌํ•œ๋‹ค๋ฉด "๊ฐ™์€ ๊ฑธ๋กœ ์น˜์ž"๋ฅผ ๋ฉ‹์ง€๊ฒŒ(,์–ด๋ ต๊ฒŒ) ํ˜•์‹ํ™”ํ•œ ์ด๋ก ์ด๋‹ค.

์‚ฌ์กฑ.
์ €์™€ ๋Œ€ํ™”๋ฅผ ๋‚˜๋ˆ ๋ณธ ๋ถ„๋“ค์€ ์•„์‹œ๊ฒ ์ง€๋งŒ, ์ œ๊ฐ€ ๋น„์ „๊ณต์ž๋ผ ์šฉ์–ด ์„ ํƒ์ด๋‚˜ ๊ฐœ๋… ์ •์˜๊ฐ€ ๋งค์šฐ ์ธํฌ๋ฉ€ํ•ด์„œ ์ธ์ƒ์„ ์ฐŒํ‘ธ๋ฆฌ๋Š” ๊ฒฝ์šฐ๋„ ์ž์ฃผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. PL ์ „๊ณต์ž๋ถ„๋“ค์ฒ˜๋Ÿผ ๊นŠ์ˆ™ํžˆ ์ด๋ก ์„ ํŒŒ๊ณ  ์‹ถ์€ ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ˜„์‹ค์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ์˜ ๋ˆˆ๋งŒ ๊ฐ€์ง€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ˜„์‹ค์„ ๋ชจ๋ธ๋งํ•  ๋•Œ, "์ธ์œ„์  ์ •๋ณด ์„ ํƒ"์„ ํ•ด์„œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๋‚จ๊ธธ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ์•Œ์•„์ฑ„๋Š” ๋ˆˆ์„ ๊ธธ๋Ÿฌ์•ผ ๋˜๋Š”๋ฐ, bind ๋˜๋Š” flatmap, return ๋˜๋Š” pure๊ฐ€ ์žˆ๋Š” ๊ตฌ์กฐ๊ฐ€ ๋ชจ๋‚˜๋“œ๋ผ๊ณ ๋งŒ ๋ฐฐ์šฐ๋ฉด, ์ด๋Ÿฐ ๋ˆˆ์„ ๊ฐ€์ง€๋Š”๋ฐ ๋งค์šฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋น„์ „๊ณต ์—…์ž๋ถ„์ด ๋ณด์…จ๋‹ค๋ฉด, ์–ป์–ด ๊ฐ€์‹œ๋Š” ์•„์ด๋””์–ด๊ฐ€ ์žˆ์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๊ณ , ์ „๊ณต์ž๋ถ„์ด ๋ณด์…จ๋‹ค๋ฉด, ์ธํฌ๋ฉ€ํ•œ ๋ถ€๋ถ„์— ๋„ˆ๋ฌด ์ธ์ƒ ์ฐŒํ‘ธ๋ฆฌ์ง€ ๋งˆ์‹œ๊ณ , ํ‹€๋ฆฐ ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด, ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ์กฐ์–ธ์„ ํ•ด์ฃผ์‹œ๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

โ€ป ๋ชจ๋‚˜๋“œ ์šฉ์–ด๋Š” mono์™€ triad์— ์˜จ ๊ฒŒ ์•„๋‹๊นŒ ์˜์‹ฌํ•œ๋‹ค๋Š” ์„ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.(๊ฒ€์ƒ‰ํ•ด ๋ณด๋ฉด ๊ทผ๊ฑฐ๋Š” ๋ฏธ์•ฝํ•ด ๋ณด์ž…๋‹ˆ๋‹ค.) ๋ชจ๋‚˜๋“œ๋Š” join, return ๊ทธ๋ฆฌ๊ณ  ์œ„์—์„œ ๋ช…์‹œ์  ์–ธ๊ธ‰์€ ์•ˆํ–ˆ์ง€๋งŒ, ํŽ‘ํ„ฐ์˜ fmap, ์ด๋ ‡๊ฒŒ ์„ธ ๊ฐœ triad์˜ ๋„์›€์„ ๋ฐ›์•„ ๋ชจ๋…ธ์ด๋“œ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

โ€ป "์ •๊ตํ•œ" ๋‚ด์šฉ์ด ์•„๋‹˜์„ ๊ฐ•์กฐํ•˜๊ณ  ์„ ์ž…๊ฒฌ์ด ์ƒ๊ธฐ์ง€ ์•Š๊ธฐ ์œ„ํ•ด, ์ผ๋ถ€๋Ÿฌ ์ œ๋ชฉ์„ ๋‹ฌ์ง€ ์•Š๊ณ , ๋ฐ˜๋ง(ํ˜ผ์žฃ๋ง)ํˆฌ๋กœ ์ผ์Šต๋‹ˆ๋‹ค.

์ œ๋ชฉ์€

  1. ํ•จ์ˆ˜ํ˜•
  2. ๋ชจ๋…ธ์ด๋“œ
  3. ๋ชจ๋‚˜๋“œ

์ˆœ์„œ ์ž…๋‹ˆ๋‹ค.

Read more โ†’
6
0
0
0

So hereโ€™s an effortpost about Discord, and migrating off of it.

Itโ€™s well known that Discord has been under lots of fire in the past week or two, first with a CEO change (with a former Activision leader), lawsuits from governments about โ€œchild safetyโ€ (which is a very real thing, see the โ€œDiscord Groomerโ€ meme, an organized child abuse group being busted, etc.), and its half-hearted attempt to please governments worried about child safety with ID scanning exactly like what VRChat does (but without the carrot of โ€œyou wonโ€™t see kids and griefers ever again").

Yet, at the same time itโ€™s very important to realize just how Discord got huge. Discord got big because of its extremely low barrier to entry, combined with the decline of Skype that was years in the making. Iโ€™m talking blocking old clients like Skype 4.2 (which I used for ages because the New Skype was kind of meh), making the new clients bloated, the network slowly getting buggier, etc. Everyone was wanting to find a new client, and boom just out of nowhere Discord came about (thanks to communities like FFXIV embracing it) and every group over time moved to it.

Discord is now in the position Skype was in the mid-2010s to some degree, with the โ€œstinkโ€ of having a userbase thatโ€™s the punchline of everyone online ("discord kitten" is now in the online lingo). Yet just like Twitter at the time of Elon Muskโ€™s buyout; nobody is sure where to move to.

Matrix is hyped up as a similar program and replacement for it, yet hosting a server for it is a total dumpster fire and it screams โ€œconsultancywareโ€, where they want to sell you hosting to avoid dealing with the pain of hosting it. Moderation also leaves much to be desired, as major FOSS chats have been spammed with gore and illegal images. It can do video calls at least, but the moderation and server hosting issues are turning some people away.

XMPP is a very solid protocol that can be combined with WebRTC as Jitsi shows and even supports video (XEP-0167, XEP-0320, etc.), and itโ€™s a damn good way to chat online (probably better than IRC imo). Yet, it has a small and niche userbase and suffers the same issue โ€œdeadโ€ online games or IRC have. People tell each other its dead and Iโ€™ve seen Mastodon side fedi posters talk endlessly as if itโ€™s a thing of the past when referring to the Google Talk shitshow (when the โ€œshould Threads federate with usโ€ question comes up). At the same time, it powers everything from Cisco WebEx/Jabber to more obscure programs like VSee (used for Telehealth and developed by a former XMPP dev). It really just needs a good client and way to do video calls more constantly and it might take off more in that regard. Dino for example does Jingle sessions, but gajim does not.

Thereโ€™s also revolt chat, but it hasnโ€™t taken off in the circles Iโ€™m inโ€ฆyet. Iโ€™m not sure if itโ€™s any good, or how hard it is to host since many in the FOSS sphere have been dabbling with Matrix or XMPP. It seems like they got the UI/UX downpat as in mimicking Discord very well, something I cannot say about XMPP clients right now (though XMPP clients are way past the days of Pidgin or Trillian). Yet, it seems to be a much more niche option given how mature XMPP is. To me, it seems as if it's another variant of the XKCD standards comic, and I'm sure it'll have "growing pains" if it grows. I see no reason to use it though if nobody I know uses it, unlike XMPP or Matrix.

There are several problems that every single one of these has to tackle however. The first is that they need to make the UI easy for anyone to use (this is a client thing and someone can easily make a Discord or Telegram-like client). The second is it needs to work and be a good experience. The third thing and most important thing, is they need to get people to use it.

Discord right now has two things going for it: the network effect, and the fact that as of now it โ€œjust werksโ€. Discord got so big because there was no friction as opposed to the dumpster fire of trying to host a TS server (complete with the "paid" tiers), youโ€™d just click and sign up. Now thereโ€™s tons of Discord groups for everything from your favorite library/framework to some niche hobby to some game engine, and the big servers will always cross link other servers which are into related topics with active populations and discussions. It doesn't help that the official community for many games and projects also are set up on Discord and not a forum, I recently had to submit a bug and the devs actually used Discord more than Github to check bugs!

IMO itโ€™s going to be a long way to get communities off Discord, and I mean like days long outages or frequent outages that disrupt a community to the point of moving off, or a series of extremely unpopular changes that lead to users ditching it in protest.

Yet, AIM, Skype, Yahoo, MSN, ICQ, and many more of the IM clients people used 15-20 years ago didnโ€™t last forever, and the same can be said about Discord. The big question is, what will replace Discord, will it be good enough to get the normies away from its tentacles, and what will be the future of communication online?

All I can say is, people should learn from the past and not use something that's a centralized point of failure and anti-user decisions. Skype went to shit because Microsoft ignored the userbase, and Discord will inevitably go to shit for the same reason.

When you don't control the code or the server, you are always at whim of the corporation. It's why you can still run a IRC server, XMPP server (even after Google Talk was killed), or even something esoteric like a Hotline server or BBS in 2025. It's why these communities will outlive Discord, and people should be taking notes IMO.

0
0
0