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
0

ChatGPT 덕분에 우연히 하찮은 버그 하나를 발견했다.

ChatGPT에게 소스 코드 보여주고 주석으로 문서 작성을 부탁했는데 다음과 같이 알아서 파이썬 doctest와 같은 코드를 출력했다.

>>> prefixLength "key=value"
3
>>> prefixLength "a=b"
1
>>> prefixLength "noequals"
8

이 함수는 입력 문자열에서 ‘=’ 왼쪽에 있는 문자열의 길이를 리턴한다. 그런데 ‘=’가 없을 경우는 미처 생각을 못했는데 ChatGPT가 출력한 코드를 보고 그 사실을 깨달았다.

덕분에 코드 패치하고 난생 처음 메이저 업데이트라는 것도 해본다.(원래 리턴 타입이 Int였는데 Maybe Int로 바꿔서 브레이킹 체인지가 되었다.)

https://hackage.haskell.org/package/align-equal-0.1.1.1/docs/Data-Text-AlignEqual.html

0
0
0

ChatGPT 덕분에 우연히 하찮은 버그 하나를 발견했다.

ChatGPT에게 소스 코드 보여주고 주석으로 문서 작성을 부탁했는데 다음과 같이 알아서 파이썬 doctest와 같은 코드를 출력했다.

>>> prefixLength "key=value"
3
>>> prefixLength "a=b"
1
>>> prefixLength "noequals"
8

이 함수는 입력 문자열에서 ‘=’ 왼쪽에 있는 문자열의 길이를 리턴한다. 그런데 ‘=’가 없을 경우는 미처 생각을 못했는데 ChatGPT가 출력한 코드를 보고 그 사실을 깨달았다.

덕분에 코드 패치하고 난생 처음 메이저 업데이트라는 것도 해본다.(원래 리턴 타입이 Int였는데 Maybe Int로 바꿔서 브레이킹 체인지가 되었다.)

https://hackage.haskell.org/package/align-equal-0.1.1.1/docs/Data-Text-AlignEqual.html

0

question.

People share (a)gpl code on github. Github is not available everywhere (even read access I think).

Does that break the GPL?

"...must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source of your version by providing access to the Corresponding Source from a network server at no charge, through some standard or customary means of facilitating copying of software"

(AGPL 3, section 13)

0

vim.kr 디스코드에도 물어보긴 했는데, 해커스펍에도 공개적으로 물어봅니다.

Git 관련 유틸리티 중에 이런거 없을까요?

개발된 기능들은 어지간하면 싹 다 Staging 브랜치에 합쳐서 개발망에 배포중인데, 개발망에 배포된 기능/버그픽스 중에 몇개 컨펌된 것만 프로덕션에 배포하고 싶어요. 커밋을 가능하면 잘게 쪼개서 하는 편이긴 한데, 컨펌된 것만 한땀한땀 골라서 체리픽하다보니까 관리하는게 여간 귀찮은게 아니네요. 오죽하면 스프레드시트로 관리할 정도입니다 -_-;;;

커밋 중 몇개는 서로 독립적이긴 한데, 몇개는 비엔나소세지마냥 줄줄이 의존성이 엮여있어요. 줄줄이 의존성이 엮여있긴해도, 가만히 보면 A기능 / B기능 잘개 쪼개져있긴 해서, 그걸 좀 더 보기좋게 시각화하고 싶어요. staging 브랜치에 PR 머지할때도 일부러 Squash and merge로 머지합니다.

한줄 요약

  • 의도적으로 커밋 간의 연결관계를 디펜던시 그래프 형태로 가시화할 수 있는 Git 유틸리티 추천받습니다.
0
0
0
9
0
0
0
0

LA ATALAYA RECORTADA CONTRA EL CIELO: La casa (Capítulo 3, extracto)

La casa era una estructura asimétrica, con un techado a dos aguas formado por tejas marrones cubiertas por patrones irregulares de líquenes secos e invadidas por los tallos de pequeñas plantas silvestres. Los muros estaban formados por piedras grandes y desiguales, quizá de granito o de algún otro material parecido. Parecía estar compuesta por una planta baja y un altillo con una única ventana situada justo debajo del nervio central del tejado. En los aleros había varios nidos de golondrinas abandonados y unos pequeños pegotes marrones que parecían ser avisperos resecos. Las tres ventanas del piso inferior tenían alféizares de madera grisácea y estaban protegidas por rejas pintadas de verde; muchas de las nervaduras tenían manchas de herrumbre y en algunas partes estaban dobladas. En la parte más alta había una chimenea peligrosamente inclinada hacia adelante. El patio, amarillento y arenoso, estaba demarcado por un muro bajo de piedra musgosa coronado por dos filas de alambre de espino. Junto a la cancela de chapa vieja había una baldosa de estilo portugués quemada por el sol y descascarillada en los extremos con la ornamentada figura del número uno pintada en azul.

Al fin nos encontramos, hija de la gran puta.

Te había construido en mi mente, involuntaria e irracionalmente, como una siniestra mansión gótica de pináculos afilados, ventanas con forma de ojos amenazadores y cúpulas bizantinas como glándulas venenosas, pero no, claro que no, tú no podías ser eso. Tú eres como yo; un despojo, la última hoja de una rama familiar enferma, un vestigio de otro tiempo que nadie merece recordar, el fruto podrido de una tierra devastada. No me engaña tu apariencia. En ti entró una madre y salió un monstruo.

LA ATALAYA RECORTADA CONTRA EL CIELO



Presentación del libro: miércoles 2 de abril, 19:30, librería La Lectora Infiel, calle Fuente del Berro, 23, Madrid
0
0

https://elixir-lang.org/blog/2025/03/25/cyanview-elixir-case

수퍼볼 같은데서 수백대의 방송장비를 Elixir를 통해서 제어하고, Phoenix LiveView로 시각화하는 사례. Elixir 생태계에 Nerves라는 임베디드 시스템 제어 프레임워크가 있었던걸로 기억하고 있는데, 이게 이렇게 이어지는군아

@kodingwarriorJaeyeol Lee 개인적으로는 Elixir에 하나 아쉬운 게 정적 타입이 아니라는 것… 정적 타입을 사후적으로 붙이는 작업이 진행되고 있다고는 하는데 TypeScript만큼 잘 될까 싶어서요. Python에서의 타이핑도 현실적으로 아쉬운 게 많은 걸 생각하면요.

그래서 저는 Gleam에 좀 기대를 하고 있습니다.

0
0

I wrote "PEP 782: Add PyBytesWriter C API": peps.python.org/pep-0782/ Add a new PyBytesWriter C API to create bytes objects. Soft deprecate PyBytes_FromStringAndSize(NULL, size) and _PyBytes_Resize() APIs. Join the discussion at: discuss.python.org/t/86617

0

My 25 years of palaeoart chronology...

The 2022 Korean translation of Locked in Time (by Dr Dean Lomax & published by Columbia University Press) commissioned me to colourise my 50 greyscale illustrations. Here's "A Portrait of Malignance," showing a Telmatosaurus with an ameloblastoma tumour.

0
0

Heard a thing recently about fancy watches and was reminded I just love that they call features "complications". We should start doing that in software.

"Sweet, version 2 is out! Check out these new complications!"

"OK, and is that complication a must have, should have, could have, or won't have?"

"I really need the database complication to do my work"

"But adding that complication will extend the deadline by two weeks"

en.m.wikipedia.org/wiki/Compli

0
0
0

Aria 1.0.0をリリースしました

新機能

- プッシュ通知に対応しました
- アカウントごとの設定から有効化できます
- 通知が来ない場合はしばらく待ったりもう一度有効化しなおすと直ることがあります
- 入力欄を枠のような見た目に変えました
- 絵文字ピッカーを開いたときに画面を占める割合を大きくしました
- 長いノートを翻訳したときに見える行数を多くしました
- ユーザーのノート一覧で上部に表示されるボタンを下にスクロールすると表示されるようにしました
- リノートしたときにリノートボタンの色が変わるようにしました
- もう一度タップするとリノートを解除できます
- リノートの解除は従来通りノートのメニューからも行えます
- タブの情報を1行で表示するようにしました
- 設定で元に戻せます
- 絵文字をミュートできるようになりました
- ミュートした絵文字はダミーの画像に置き換えられます
- リアクションしたユーザーの一覧を閉じずに他のリアクションをしたユーザーも見られるようにしました
- 投稿フォームにメニューを追加しました
- リアクションの受け入れ範囲を変更できます
- CWと本文を入れ替えることができます
- 投稿フォームをリセットすることができます
- タイムラインの下部に表示されるボタンを変更できるようにしました
- ボタンを追加したり削除したりできます
- 検索やプロフィールなどのボタンも追加できます
- ボタンの大きさや形を変更できます
- 異なるサーバーの同じ名前のリアクションをまとめて表示できるようにしました
- 投稿フォームにハッシュタグの入力欄を追加しました
- 同じハッシュタグで連続して投稿できます
- 最近使った絵文字をリセットできるようにしました
- 投稿フォームでスペルチェックを有効にすることができるようにしました
- 絵文字ピッカーに新しいUnicode絵文字を追加しました
- MiAuthに対応していないサーバーでログインしようとしたときにアクセストークンを入力するページに移動するようにしました
- CherryPickのグルーピングされたノート通知に対応しました
- ノートやユーザー以外のものも通報できるようにしました
- キャッシュを削除できるようにしました
- 画像を開いているときに外側をタップすると閉じるようにしました
- Windowsでもウェブサイトの埋め込みが見られるようになりました
- リプライやリノートの数を非表示にできるようにしました
- デスクトップでウィンドウの大きさや場所を記憶するようにしました
- 画像を読み込んでいる間にサムネイルを表示するようにしました
- ハートの色をテーマに従ったものにしました
- CherryPickとmisskey.ioの予約投稿に対応しました
- タイムラインでノートとノートの間を空けられるようにしました
- ノートのメディアを長押ししたときにメニューを開くようにしました
- 連合なしなどのアイコンを変更しました
- クリップのノート一覧でノートのメニューを開いたときにクリップの解除ができるようにしました
- リノートする前に確認するかどうかの設定を投稿する前の設定と分けました
- アクセストークン発行時の通知に対応しました
- ノートにファイルが3つ添付されているときに隙間なく表示するようにしました
- Playを実行中に戻る前に確認するようにしました
- オンライン状態を表示させられるようにしました
- ログインが完了したときにメッセージを表示するようにしました
- 時限ミュートに対応しました
- リプライや引用をしたときにノート詳細での表示が更新されるようにしました
- アカウントのホストが正しく表示されるようにしました

修正

- 自分が投稿したノートがタイムラインに流れないことがある問題を修正しました
- 絵文字の詳細でセンシティブの値がローカルのみの値として表示されていた問題を修正しました
- コードブロックに特定の文字列が入っているときにMFMが表示されない問題を修正しました
- CWなどでも絵文字をタップできるようにしました
- Androidで画面を戻ろうとするとクラッシュすることがある問題を修正しました
- Androidで他のアプリからリンクを開いたときにAriaが起動することがある問題を修正しました
- 投稿フォームで入力した文字列を範囲選択したときにカーソルが滑らかに動かない問題を修正しました
- ドライブのファイルの移動先を選択する際にページのタイトルが間違ったものになる問題を修正しました
- CWがあるときはノートの要約で本文を表示しないようにしました
- リプライではないノートを投稿するときはメンションがあっても注意を表示しないようにしました
- ログインページで背景の画像を表示されやすくしました
- 絵文字ピッカーの設定ページでアカウント名の隣にアイコンを追加してタップするとアカウントごとの設定に遷移できることをわかりやすくしました
- エラーが発生したときなどに引っ張って更新ができないことがある問題を修正しました
- MFMの入力補完が表示されないことがある問題を修正しました
- CWのボタンの見た目をMisskey Webのものに近いものに変更しました
- タイムラインのタブが横長だったのを正方形にしました
- ウェブサイトの埋め込みが正しく表示されないことがある問題を修正しました
- エラーが起きたときにアクセストークンが表示されないようにしました
- インスタンスティッカーにサーバー名が表示されないことがある問題を修正しました
- リアクションの通知で表示される絵文字を大きくしました
- 幅が広いデバイスで画面の端でもスクロールするようにしました
- CWがあるノートにリプライするときに注釈の部分にカーソルが自動で行かないようにしました
- 右から左に読む言語での表示をましにしました
- プロキシされた画像がうまく表示されないことがある問題を修正しました

翻訳

- Español (
@eike@novoa.nagoya)
- Bahasa Indonesia (
@thea@misskey.idMaulana M. Diansyahbani)
- Português (
@aldonogueira@procial.tchncs.dealdonogueira :tchncs:)
- 中文(简体) (
@shuangsilab@misskey.site, @Recrumie@misskey.site)

https://github.com/poppingmoon/aria/releases/v1.0.0

0
0
0
0

Heard a thing recently about fancy watches and was reminded I just love that they call features "complications". We should start doing that in software.

"Sweet, version 2 is out! Check out these new complications!"

"OK, and is that complication a must have, should have, could have, or won't have?"

"I really need the database complication to do my work"

"But adding that complication will extend the deadline by two weeks"

en.m.wikipedia.org/wiki/Compli

0
0
0
0

母親病後,每隔一陣子,對生命和生活的感受都不太相同。

為了走得長遠,不再那麼用力勉強自己 —
照既定的目標和計劃安排生活,優先照顧自己和所愛之人的追求和喜樂,也接受一切變化和無常;
不勉強自己和他人,活在當下,也活成泰國人的鬆弛況味和人性節奏。

寫字部分,更能感受到「消化後的轉化」和「與自己想傳達出的質地結合」 — 試著更簡潔、真誠、平穩,清楚所發出的每則訊息背後的意欲和結果。

仍不免想起萬物有始有盡,渺小如倉粟的我們是過客,終究都有消逝之日。而在這一路過程裡,什麼是愛?什麼是生命為之努力的奮鬥?什麼才是值得花費時間的追求?時常覺得自己已踏入虛無主義的邊緣,也或許是意識到了,才這麼在意「意義」和「感受」。

也或者是卡繆提到的「荒謬感」,和與之對抗的「反抗」— 坦然接受世界的無意義,並在其中創造屬於自己的價值。

當然,意義有時也是「無用之美」 — 來自大自然和萬物觸動自己的時刻:那些宏偉又細膩、有機組成的瞬間和時刻,時常能消融許多的堅硬和矛盾,讓人更溫情厚實地面對世界。 1/2

0

vim.kr 디스코드에도 물어보긴 했는데, 해커스펍에도 공개적으로 물어봅니다.

Git 관련 유틸리티 중에 이런거 없을까요?

개발된 기능들은 어지간하면 싹 다 Staging 브랜치에 합쳐서 개발망에 배포중인데, 개발망에 배포된 기능/버그픽스 중에 몇개 컨펌된 것만 프로덕션에 배포하고 싶어요. 커밋을 가능하면 잘게 쪼개서 하는 편이긴 한데, 컨펌된 것만 한땀한땀 골라서 체리픽하다보니까 관리하는게 여간 귀찮은게 아니네요. 오죽하면 스프레드시트로 관리할 정도입니다 -_-;;;

커밋 중 몇개는 서로 독립적이긴 한데, 몇개는 비엔나소세지마냥 줄줄이 의존성이 엮여있어요. 줄줄이 의존성이 엮여있긴해도, 가만히 보면 A기능 / B기능 잘개 쪼개져있긴 해서, 그걸 좀 더 보기좋게 시각화하고 싶어요. staging 브랜치에 PR 머지할때도 일부러 Squash and merge로 머지합니다.

한줄 요약

  • 의도적으로 커밋 간의 연결관계를 디펜던시 그래프 형태로 가시화할 수 있는 Git 유틸리티 추천받습니다.
0

My 25 years of palaeoart chronology...

The 2022 Korean translation of Locked in Time (by Dr Dean Lomax & published by Columbia University Press) commissioned me to colourise my 50 greyscale illustrations. Here's "A Portrait of Malignance," showing a Telmatosaurus with an ameloblastoma tumour.

0
0
0
0
0
0
0
0
0

海外の人、地味にITへの慣れ親しみ方が日本とは違うんだよな……日本は高齢者が多いのと、IT界隈の標準語の英語が苦手なのと、若年層のPCの普及率が低いのが全部効いてる。

0
0
0
1

vim.kr 디스코드에도 물어보긴 했는데, 해커스펍에도 공개적으로 물어봅니다.

Git 관련 유틸리티 중에 이런거 없을까요?

개발된 기능들은 어지간하면 싹 다 Staging 브랜치에 합쳐서 개발망에 배포중인데, 개발망에 배포된 기능/버그픽스 중에 몇개 컨펌된 것만 프로덕션에 배포하고 싶어요. 커밋을 가능하면 잘게 쪼개서 하는 편이긴 한데, 컨펌된 것만 한땀한땀 골라서 체리픽하다보니까 관리하는게 여간 귀찮은게 아니네요. 오죽하면 스프레드시트로 관리할 정도입니다 -_-;;;

커밋 중 몇개는 서로 독립적이긴 한데, 몇개는 비엔나소세지마냥 줄줄이 의존성이 엮여있어요. 줄줄이 의존성이 엮여있긴해도, 가만히 보면 A기능 / B기능 잘개 쪼개져있긴 해서, 그걸 좀 더 보기좋게 시각화하고 싶어요. staging 브랜치에 PR 머지할때도 일부러 Squash and merge로 머지합니다.

한줄 요약

  • 의도적으로 커밋 간의 연결관계를 디펜던시 그래프 형태로 가시화할 수 있는 Git 유틸리티 추천받습니다.
0
0

vim.kr 디스코드에도 물어보긴 했는데, 해커스펍에도 공개적으로 물어봅니다.

Git 관련 유틸리티 중에 이런거 없을까요?

개발된 기능들은 어지간하면 싹 다 Staging 브랜치에 합쳐서 개발망에 배포중인데, 개발망에 배포된 기능/버그픽스 중에 몇개 컨펌된 것만 프로덕션에 배포하고 싶어요. 커밋을 가능하면 잘게 쪼개서 하는 편이긴 한데, 컨펌된 것만 한땀한땀 골라서 체리픽하다보니까 관리하는게 여간 귀찮은게 아니네요. 오죽하면 스프레드시트로 관리할 정도입니다 -_-;;;

커밋 중 몇개는 서로 독립적이긴 한데, 몇개는 비엔나소세지마냥 줄줄이 의존성이 엮여있어요. 줄줄이 의존성이 엮여있긴해도, 가만히 보면 A기능 / B기능 잘개 쪼개져있긴 해서, 그걸 좀 더 보기좋게 시각화하고 싶어요. staging 브랜치에 PR 머지할때도 일부러 Squash and merge로 머지합니다.

한줄 요약

  • 의도적으로 커밋 간의 연결관계를 디펜던시 그래프 형태로 가시화할 수 있는 Git 유틸리티 추천받습니다.
0
0

"2030년 전에 글로벌 공급망이 붕괴되고, 더 이상 전자 제품을 생산할 수 없게 되어 현대적인 컴퓨터가 멸종할 것이다. 그 시대를 위한 운영체제가 바로 Collapse OS. 9000개의 트랜지스터로 만들 수 있는 Z80에서도 구동할 수 있고, 최소한의 도구로 POSIX 환경에서 빌드할 수 있다." collapseos.org/

0
0
0
0