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.

1
0
0

🍃🤖🕵️‍♀️ If you're looking for a more energy-efficient & privacy-preserving experience to run AI locally, I've really enjoyed using Adrien Grondin's Locally AI iOS app.

Been using it for a few months with the built-in Apple Foundation model but just downloaded Mistral's Ministral 3 models, and it's amazing to have these available offline.

locallyai.app

0
0

洪 民憙 (Hong Minhee) shared the below article:

하스켈 책 보충 자료

박준규 @curry@hackers.pub

책 《하스켈 병렬 및 동시성 프로그래밍(원제: Parallel and Concurrent Programming in Haskell)》 8장을 읽다 보면 다음과 같은 문구가 나옵니다.

We will use the following function to download a web page:

getURL :: String -> IO ByteString

This function is provided by the module GetURL in GetURL.hs, which is a small wrapper around the API provided by the HTTP package.

그런데 GetURL.hs라는 파일을 찾을 수가 없어요. 저처럼 예제 코드 하나라도 실행 안 되면 진도를 못나가는 사람을 위해서 안내를 남깁니다.(사실은 미래의 저를 위한 글입니다.)

인터넷에서 검색을 좀 해보면(예전에 찾아 놓은 거고 지금은 원본 링크를 찾을 수가 없지만) 메릴랜드 대학의 CSMC 433이라는 과정에서 공교롭게 책과 같은 내용이 있고 그곳에서 다음과 같은 코드를 소개합니다.

-- For the example to work you need to have
-- the `bytestring` and the `download-curl`
-- haskell packages installed
import Data.ByteString as B
import Network.Curl.Download

getURL :: String -> IO ByteString
getURL uri = do
  res <- openURI uri
  case res of
    Left _ -> error "Oh no..."
    Right bs -> return bs

'됐다! 이거다!' 싶지만 막상 이 코드를 넣고 8장의 예제를 실행하면 기대했던대로 결과가 안 나오고 다음과 같이 페이지 응답 본문의 크기가 0으로 나옵니다.

(0,0)

이건 왜 그럴까? curl로 응답 헤더를 보니 https로 리다이렉트하고 있었네요.

$ curl -I http://www.wikipedia.org/wiki/Shovel
HTTP/1.1 301 Moved Permanently
content-length: 0
location: https://www.wikipedia.org/wiki/Shovel
server: HAProxy
x-cache: cp5024 int
x-cache-status: int-tls
connection: close

그래서 본문 내용이 없었기 때문에 크기가 0으로 나온 것입니다. 이때는 openURI 대신 openURIWithOpts를 쓰면 됩니다. 여러 옵션이 있는데 그중 CurlFollowLocation True를 사용합니다.

  res <- openURIWithOpts opts uri
  ...
  where
    opts =
      [ CurlFollowLocation True
      ]

'와, 이제 진짜 되겠지?' 해도 안 되는데 이번에는 404 응답이 옵니다.

'어? 브라우저랑 curl로 요청했을 때는 존재하는 페이지인데 왜 404래?'

아마 위키백과에서 요청 헤더에 User-Agent가 없으면 차단을 하는 것 같습니다. 마지막으로 다음과 같이 옵션을 추가합니다.(이건 GPT가 알려줬어요.)

  opts =
    [ CurlFollowLocation True
    , CurlUserAgent "foo bar"
    ]

여기까지 하면 이제 책에 나온 예제가 잘 실행됩니다.

즐거운 하스켈 코딩 하세요!

Read more →
9

매일마다 찬양과 폄하를 오가는 오라클 클라우드

오늘의 찬양: NLB(L4 로드밸런서)도 무료 배스쳔(퍼블릭 IP가 없는 인스턴스 접속을 위한 SSH 터널링)도 무료

오늘의 폄하: 블록볼륨 최소사이즈가 50GB인게 말이되냐!! 기본 오라클리눅스 dnf를 램 4기가 이하 인스턴스에서 돌리면 메모리만 전부 잡아먹고 스스로 OOMKill은 안시켜서 인스턴스가 죽는게 말이되냐!!!

3
11

오랜만에 인사드립니다. 새 직장에 들어간지 한달 반정도 됐어요. 잘 적응하고 있는 것 같습니다. 생각보다 c++는 공부하는 재미가 있는 언어였어요. 템플릿 활용하고 메모리 잘 관리해주는데서 은근히 뭐랄까 쾌감이 오는군요...

8
0
3

https://github.com/sonohoshi/sonomemo 최근에는 바이브코딩을 좀 해봤고, 제가 쓸 메모용 앱을 만들어봤습니다. 만들었다고 하는게 맞나? 바이브코딩이라는거 재밌더라고요. 사실 당연한 것 같습니다. 코딩에서 오는 아이디어 구현과 결과물이 나오는 재미는 취하고, 디버그하고 버그 잡는 힘든 일은 LLM이 해주는데 당연히 재미있겠죠. 어쨌거나 이 행위에 맛들려서 Rust 코드는 어떻게 쓰는지 볼 겸, 터미널 기반의 메모용 앱을 만들었습니다. 제가 쓰려고 만들었는데 생각보다 쓰는 트친들이 많이 생겨서 여기에도 올려봐요. 감사합니다.

2

서울시 학생인권조례 폐지안이 오늘 오후 재석 86, 찬성 65, 반대 21로 가결되었습니다. 서울시의회 의원 111명 중 국민의힘만 75명입니다. 어찌보면 예상된 결과라고 할 수도 있겠으나 학생인권조례 폐지를 막기 위해 그동안 애쓴 (당장 오늘 오전에도 시의회 앞에서 기자회견을 열던) 각계각층의 사람들을 생각하면 좀은 참담합니다…

16일 간 서울시의회 앞에서 농성하던 '학생인권 후퇴 저지! 긴급행동'은 19시에 문화제를 주최한다고 하네요. 시간되시는 분들은 들러주시면 힘이 될 거 같습니다
https://x.com/onlyasunaro/status/2000821389130129831

0
0

あまりにもえらすぎる。侵入される前よりもむしろ印象が良くなったまである。

「攻撃手法に関する調査結果や原因分析、初動対応などを時系列順にまとめたレポートも公開。今後の再発防止に向けた施策のロードマップも公開した。」

(2025-12)アスクル、個人情報74万件漏えい 攻撃手法や初動対応を時系列順にまとめたレポートも公開
itmedia.co.jp/news/articles/2512/12/news106.html

0
0
0

레거시 자동차 업체들이 전기차 시대에서 고전하고 있는 거 보면 현대가 진짜 무섭다. 소프트웨어 부분이 좀 약하긴 하지만 이건 다른 업체들도 같은 상황이고 무엇보다 가장 큰 차이점은 기존 자동차 업계와 다르게 현대는 지금 라인업이 다양해서 다양한 소비자를 충족시킬 수 있다는 것만 봐도 대단

EV ‘뼈 아픈’ 실패… 유턴하는 포드

포드는 전기차 수요 둔화와 배터리 비용 부담 속에 소형·저가 전기차와 하이브리드 중심으로 라인업과 공장 체계를 재편해 2029년 흑자 전환을 노린다.
fortunekorea.co.kr/news/articl

0

あまりにもえらすぎる。侵入される前よりもむしろ印象が良くなったまである。

「攻撃手法に関する調査結果や原因分析、初動対応などを時系列順にまとめたレポートも公開。今後の再発防止に向けた施策のロードマップも公開した。」

(2025-12)アスクル、個人情報74万件漏えい 攻撃手法や初動対応を時系列順にまとめたレポートも公開
itmedia.co.jp/news/articles/2512/12/news106.html

0
1

레거시 자동차 업체들이 전기차 시대에서 고전하고 있는 거 보면 현대가 진짜 무섭다. 소프트웨어 부분이 좀 약하긴 하지만 이건 다른 업체들도 같은 상황이고 무엇보다 가장 큰 차이점은 기존 자동차 업계와 다르게 현대는 지금 라인업이 다양해서 다양한 소비자를 충족시킬 수 있다는 것만 봐도 대단

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

'꾸미는 여성한테 여성인권 후퇴시킨다고 욕하면 안 되는 이유'에 대해서는 트위터에서나 블스에서나 대충 합의가 되어 있을 것 같은데 결혼/출산/양육의 욕망을 가진 퀴어를 대하는 방법도 그와 같지 않은가 생각합니다. **트위터 하던 시절부터 갖고 있던 생각을 스라에서 키워드 몇 개만 보고 꽂혀서 와다다 쓴 거라 특정인의 의견, 포스트와 관계없으며 앞으로도 공부하고 고민할 생각.

1
0
0
0

オフ会で深い関係になりそうなのどこのドイツだよぉ?!って入力しようとしたらオカシラシャケマイクロビキニに全てを持って行かれた
なんでだよ そんなもの入力したこともないよ こわ

2

The UN has reported that Israel has rejected more than 130 aid cargo entry requests in October alone. The majority of these rejections affect small organisations that distribute aid.

This follows a pattern. Israeli occupation authorities reject life-saving commodities, such as food, shelter, health and building supplies. They also reject equipment required to deliver vital services at scale.

thecanary.co/global/world-anal

🕎 🇵🇸 ☮️

0

사진달력 월향 ver.2026; 달의 향기를 품다
구매하실수 있는 폼입니다!
그러나 링크 내 구매폼은 로그인하셔야 이용 가능하기에,
여기 이 먀스토돈 계정의 멘션이나 디엠으로도 주문 받겠습니다.

가격 : 15000
배송 : 우체국택배 (일반으로 보내며 무료배송이나, 빠른등기 이용하실 시 배송비 2000추가)

재고소진시 판매 종료하겠습니다! 감사합니다 :D
구매폼은 아래 링크 !!

witchform.com/deposit_form/951

0
0
0
1

The UN has reported that Israel has rejected more than 130 aid cargo entry requests in October alone. The majority of these rejections affect small organisations that distribute aid.

This follows a pattern. Israeli occupation authorities reject life-saving commodities, such as food, shelter, health and building supplies. They also reject equipment required to deliver vital services at scale.

thecanary.co/global/world-anal

🕎 🇵🇸 ☮️

0
0
0
1
1
1