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

I ported @mattmight’s conversion code (matt.might.net/articles/cps-co) to and after some fighting with the type system, it worked! To make the work with the Cont monad, I had to remove recursive lets and hence, functions being able to call themselves recursively, but the rest works fine.

The attached images show the conversion of the Fibonacci function into the CPS version.

Fibonacci function in Lisp:

(let
  ([fib
     (λ (n)
       (let
         ([fib'
            (λ (n f)
              (if (= n 0)
                0
                (if (= n 1)
                  1 
                  (+ (f (- n 1) f) (f (- n 2) f)))))])
         (fib' n fib')))])
  (fib 10))CPS version of Fibonacci function in Lisp:

(let
  ([fib
     (λ (n k0)
       (let
         ([fib'
            (λ (n f k1)
              ((λ (k2)
                 ((λ (v3)
                    (if v3
                      (k2 0)
                      ((λ (k4)
                         ((λ (v5)
                            (if v5
                              (k4 1)
                              ((λ (v9)
                                 (f v9 f
                                   (λ (v6)
                                     ((λ (v8)
                                        (f v8 f 
                                          (λ (v7) 
                                            (k4 (+ v6 v7)))))
                                      (- n 2)))))
                               (- n 1))))
                          (= n 1)))
                       k2)))
                  (= n 0)))
               k1))])
         (fib' n fib' k0)))])
  (fib 10 return))
0
0
1
0

I spend last the two weeks immersed in and , and learned:

1. How to write Nix config for a Haskell project from scratch (abhinavsarkar.net/posts/nix-fo).
2. How to create static executables with Nix for Haskell code.
3. How to build Docker images with Nix.
4. How to run a Linux builder for Nix on Macos.
5. How to use the Linux builder to build and deploy to Nixos machines from Macos.

All of these have been on my mind for months, and it’s nice to finally figure it all out.

0

i found it annoying that css variables don't have a natural way to accumulate values (there's some convoluted workaround with alternating css variable names but i haven't tried it). seems like there's proposals for fixing this though

0
0
2
0
0
1
0
0
0
1
0

⏳ Only 2 days left to get your in-person tickets!

In-person ticket sales close Sunday at 11:59 PM. After that, only virtual tickets will be available.

Secure your spot now 👉 https://lepointdevente.com/billets/mns260224001?lang=en

#FediMTL #Fediverse #SocialWeb #DigitalSovereignty

FediMTL 2026 - February 24th 2026 - Le Ministère, Montréal, QC - Thepointofsale.com

FediMTL 2026 | Digital Sovereignty and the Social WebConference · Panels · NetworkingFediMTL brings international and Canadian leaders to Montreal for a full day of talks and discussions focused on digital sovereignty and the future of the open social web.Co-presented by the Social Web Foundation, Qlub, and FediHost, the event is designed for developers, creators, journalists, policymakers, and citizens who want to better understand how the fediverse — a decentralized technology — enables people and communities to regain control over their data, support local digital infrastructure, and build interoperable, sustainable online communities.Under the theme “An Independent Digital Future,” FediMTL will feature conferences, panels, and exchanges with key figures from the social web ecosystem, including co-authors of the ActivityPub protocol, open-source platform developers, and leaders working in public-interest digital innovation.The event will take place with seated audiences and will also be available via live webcast.In-person tickets: $50 + tax (includes lunch and coffee breaks) Virtual tickets: $20 + tax — click here Tickets at the door: $65 + tax (includes lunch and coffee breaks) Follow FediMTL on GoToSocial: https://social.fedimtl.ca/@info-----Unless otherwise specified by the producer, the show will be presented to a standing audience.*Audience configuration is subject to change without notice, depending on the number of tickets sold.-----*Please note that Le Ministère does not accept cash. We accept credit and debit cards only. All ticket purchases are made online, even on the day of the show at the door.

lepointdevente.com

0
0

초보자를 위한 스플릿 키보드 가이드
------------------------------
- 기존 키보드의 *손목 꺽임* 과 *어깨 긴장* 을 줄이기 위해 좌우 절반을 분리한 *스플릿(분리형) 키보드* 가 인체공학적 대안으로 주목받고 있으며, 다양한 형태와 가격대의 제품이 존재함
- 학습 곡선 없이 기존 근육 기억을 유지하려는 사용자를 위한 *행 배열 스플릿* 부터, 본격적 인체공학을 원하는 사용자를…
------------------------------
https://news.hada.io/topic?id=26853&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
0
0
7
0
0
0

相互関税は違憲とする米最高裁判決を受けて、いままで収めた関税返せ訴訟が多発するのでは。

日本の米国投資80兆円もおかしなことになるよね。相互関税を下げてもらう見返りだったので、相互関税が課税できないとなったら、その前提が吹っ飛んでしまう。

0
0
0
0

It certainly was a decision¹ for that car to drive into and up a (currently²) narrow one-way street when there was a fire truck with its flashers on stopped right in the middle of the block. Maybe not a good one. (It backed out.)

¹ a decision made by the driver, but that's awkward phrasing.
² thanks, giant Toronto snowfall that still hasn't been cleared away and is now garnished with large water puddles that will probably freeze to tiny skating rinks.

0
0
0
0
2
0
0
0
0

i'm not sure whether this is something the link author should choose, or the tree structure above it (contextual), or the user preference, or some combination of those. but it's probably somehow contextual. i've heard people talking about "intents" and maybe you can do that. but easy to overengineer

0
1

i currently have a system where components can claim to be "views" of a certain record type or of identities, but this is more of a discovery/indexing mechanism. you'd still somehow have to choose between them — Post, PostThread, PostQuotes, or PostThreadTree?

0
0

我們這些「台獨份子」說破嘴也總不被死忠藍相信的那些事蹟, 都寫了,還比我當時所知(真的很少就是了)的要更深入許多。

那才是寫得好的「現代武俠」;正如金庸擅長把虛構的功夫編夾進歷史一樣,張大春也把他與父輩作為「外省人」的經歷,揉雜了奇門遁甲與功夫,寫成一部虛虛實實的故事,而我對國民黨的真實歷史知道愈多,就愈心驚於小說映照得更多。

而張大春,他非常清楚國民黨是個藉由暴力團(黑道)、暗殺、特務……等力量遂行恐怖統治的真實本質的,卻在鄭南榕被逼自焚後,投書報紙大大地羞辱鄭南榕、嘲諷民進黨一番,現實中的他遠比《城邦暴力團》小說裡活得如同老鼠般的張大春更卑猥不堪,又一次藉由小說映照了真實。

所以,是的我非常討厭張大春,可是我還是推薦這套小說《城邦暴力團》。它比我的歷史課本更清晰地勾勒了(國民黨那部分的)台灣近代史,它更以自身與作者訴說了,如張大春這樣的鐵藍「文人」有多麼下賤又悲哀。

2/2

@nightside 說到金庸,他第一部的《書劍恩仇錄》諷刺乾隆為了權力地位翻來覆去,善於妥協的陳家洛一事無成;後來《笑傲江湖》也不乏毛澤東和文革的影子,主角看出打著正義旗號的往往不是好人然後歸隱山林

晚年金庸卻為香港提出極保守的政治方案、支持中共,這串經歷也很接近了

0

anyway that was the first difficult thing 2. the second difficult thing is designing social coordination primitives between components. the most basic one is <Link> — of course it goes to an at:// URI, but what does this actually mean? which component gets displayed? is this contextual?

0
0
0

on implementation side, i just turn these tags into React Server Components tags (with Client components where appropriate) so it's just whatever i can express using React component model. it mostly ends up CSS but there's there's also server and client logic for things like <List> pagination

0
0
4
0
0

Saw a post on fedi about The Expanse and that got me thinking about my favourite genre again, dystopian sci-fi.

Would love book suggestions along those lines, but tonight it's time for Silo, season 1 episode 1!

vlcsnap-2026-02-20-20h49m41s594.png

0

看到有人評九把刀是「少數寫現代武俠」的作者,但我覺得九把刀的作品B級,很難認可他的所謂「現代武俠」的地位。說到「現代武俠」,我仍然認為我討厭的作者張大春寫的《城邦暴力團》寫得最好,是我難以理解他身為鐵藍為何又那麼下作的好。

最近再次想起1999年出版的《 》,是因為看到象友推薦 EP132時,引述了受訪者徐紹綱說的,他從檔案中讀到「王師凱」這個人一再出現,追查下去卻發現……這不是一個人,而是國民黨的一個黨部名稱,就像黃復興那樣。
open.spotify.com/episode/3JZnY

我在看到這段講述時,瞿然而驚,這就是《城邦暴力團》反覆在說的手法與概念呀!《城邦暴力團》講述的是一個真正的史實,它甚至比我讀過的國立編譯館的歷史課本還要清楚交代國民黨是怎樣的政黨:它從在中國大陸時就藉黑幫之力崛起(書中的漕幫、清幫大致為真)、蔣介石得了性病、少數重要人物才有資格隨國民黨撤退來台、在來台的船上,正直的外省人也動不動被砍頭,餘下的見證者為了活下來不得不整個餘生都卑鄙地保守這個秘密、漕幫(青幫)在台灣「落地」後的眷村子弟組成了竹林聯盟(竹聯幫)並壯大……

1/2

0
0
0
0

きのう梅がきれいに咲いているとろを通りがかったんだけど仕事中だったし仕事の人と一緒だったのでのんびり写真を撮るわけにもいかずスルーしたけどきれいだったなあ(写真なし

0

so in a sense even if the entire API changes, a <Heading> is still the best name for a heading, and maybe old props still work, or maybe they're gradually no longer interpreted. that's also kind of like html

0