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

Terminad is a really interesting approach to rendering markdown in the CLI. It deliberately doesn't render links, so you can always see both the link text and the URL.

In a browser you have hover to see URLs, but not necessarily in a terminal.

github.com/Canop/termimad

0
0
0
0
0

Left-wing Iranian students celebrate victory of Islamic Revolution with picture of Ayatollah Khomeini. (1979)

In early 1979, Iran was swept up in a wave of revolutionary fervor that united vastly different factions against Shah’s monarchy — liberals, Islamists and leftists all calling for change. This photograph captures a fleeting moment of optimism as left-wing students celebrate the revolution’s success, proudly holding an image of Khomeini, then viewed by many as a symbol of liberation.

0
0
1
0
0
0
1
0

Hi folks: this is woefully just a quick start, but I created a Mastodon Pack of the top most active posters I've seen on the so far. Will up this later to day to top 30 later. Very up to add anyone - and very up to transfer ownerhsip of this starter pack to someone from that server.

Also I added @CaseyCasey Newton - but could not add @pj nor @kevinKevin Roose as their forkiverse mastodon accounts are set to not allow it. In comment I'll note ow to fix.

fedidevs.com/s/ODQy/

0

In 1959, a cement mixer with a full load of cement, wrecked near Winganon, Oklahoma 🇺🇸

By the time a tow truck came to haul it away, all of cement had hardened inside of mixer. Tow truck was not able to remove all wreckage at same time because of weight, and decided to haul only cab/frame and would come back for detached mixer later, which never happened.

Today, 67 years later, it still sits where it fell. Locals have painted it and added "rocket thrusters" to make it look like a space capsule.

0
0
1
0
0
0
0
0

Firestarter: They set the land ablaze from the sky – and then wait for their prey to run - BBC Wildlife Magazine discoverwildlife.com/animal-fa

Settlers: Did you know sometimes hawks spread fire?

Locals: You mean the firehawks?

Settlers: No, these are real things we’ve observed, not myths.

Locals: Right. The firehawks.

Settlers: But now we’ve actually seen them!

Locals: Here’s a detailed description we wrote in a book 60 years ago.

Settlers: I bet we get an award for this!

Locals: …

0
0

LLM에서 마크다운이 널리 쓰이게 되면서 안 보고 싶어도 볼 수 밖에 없게 된 흔한 꼬라지로 그림에서 보는 것처럼 마크다운 강조 표시(**)가 그대로 노출되어 버리는 광경이 있다. 이 문제는 CommonMark의 고질적인 문제로, 한 10년 전쯤에 보고한 적도 있는데 지금까지 어떤 해결책도 제시되지 않은 채로 방치되어 있다.

문제의 상세는 이러하다. CommonMark는 마크다운을 표준화하는 과정에서 파싱의 복잡도를 제한하기 위해 연속된 구분자(delimiter run)라는 개념을 넣었는데, 연속된 구분자는 어느 방향에 있느냐에 따라서 왼편(left-flanking)과 오른편(right-flanking)이라는 속성을 가질 수 있다(왼편이자 오른편일 수도 있고, 둘 다 아닐 수도 있다). 이 규칙에 따르면 **는 왼편의 연속된 구분자로부터 시작해서 오른편의 연속된 구분자로 끝나야만 한다. 여기서 중요한 건 왼편인지 오른편인지를 판단하는 데 외부 맥락이 전혀 안 들어가고 주변의 몇 글자만 보고 바로 결정된다는 것인데, 이를테면 왼편의 연속된 구분자는 **<보통 글자> 꼴이거나 <공백>**<기호> 또는 <기호>**<기호> 꼴이어야 한다. ("보통 글자"란 공백이나 기호가 아닌 글자를 가리킨다.) 첫번째 꼴은 아무래도 **마크다운**은 같이 낱말 안에 끼어 들어가 있는 연속된 구분자를 허용하기 위한 것이고, 두번째/세번째 꼴은 이 **"마크다운"** 형식은 같이 기호 앞에 붙어 있는 연속된 구분자를 제한적으로 허용하기 위한 것이라 해석할 수 있겠다. 오른편도 방향만 다르고 똑같은 규칙을 가지는데, 이 규칙으로 **마크다운(Markdown)**은을 해석해 보면 뒷쪽 **의 앞에는 기호가 들어 있으므로 뒤에는 공백이나 기호가 나와야 하지만 보통 글자가 나왔으므로 오른편이 아니라고 해석되어 강조의 끝으로 처리되지 않는 것이다.

CommonMark 명세에서도 설명되어 있지만, 이 규칙의 원 의도는 **이런 **식으로** 중첩되어** 강조된 문법을 허용하기 위한 것이다. 강조를 한답시고 **이런 ** 식으로 공백을 강조 문법 안쪽에 끼워 넣는 일이 일반적으로는 없으므로, 이런 상황에서 공백에 인접한 강조 문법은 항상 특정 방향에만 올 수 있다고 선언하는 것으로 모호함을 해소하는 것이다. 허나 CJK 환경에서는 공백이 아예 없거나 공백이 있어도 한국어처럼 낱말 안에서 기호를 쓰는 경우가 드물지 않기 때문에, 이런 식으로 어느 연속된 구분자가 왼편인지 오른편인지 추론하는 데 한계가 있다는 것이다. 단순히 <보통 문자>**<기호>도 왼편으로 해석하는 식으로 해서 **마크다운(Markdown)**은 같은 걸 허용한다 하더라도, このような**[状況](...)**は 이런 상황은 어쩔 것인가? 내가 느끼기에는 중첩되어 강조된 문법의 효용은 제한적인 반면 이로 인해 생기는 CJK 환경에서의 불편함은 명확하다. 그리고 LLM은 CommonMark의 설계 의도 따위는 고려하지 않고 실제 사람들이 사용할 법한 식으로 마크다운을 쓰기 때문에, 사람들이 막연하게 가지고만 있던 이런 불편함이 그대로 표면화되어 버린 것이고 말이다.

* 21. Ba5# - 백이 룩과 퀸을 희생한 후, 퀸 대신 **비숍(Ba5)**이 결정적인 체크메이트를 성공시킵니다. 흑 킹이 탈출할 곳이 없으며, 백의 기물로 막을 수도 없습니다. [강조 처리된 "비숍(Ba5)" 앞뒤에 마크다운의 강조 표시 "**"가 그대로 노출되어 있다.]

As Markdown has become the standard for LLM outputs, we are now forced to witness a common and unsightly mess where Markdown emphasis markers (**) remain unrendered and exposed, as seen in the image. This is a chronic issue with the CommonMark specification---one that I once reported about ten years ago---but it has been left neglected without any solution to this day.

The technical details of the problem are as follows: In an effort to limit parsing complexity during the standardization process, CommonMark introduced the concept of "delimiter runs." These runs are assigned properties of being "left-flanking" or "right-flanking" (or both, or neither) depending on their position. According to these rules, a bolded segment must start with a left-flanking delimiter run and end with a right-flanking one. The crucial point is that whether a run is left- or right-flanking is determined solely by the immediate surrounding characters, without any consideration of the broader context. For instance, a left-flanking delimiter must be in the form of **<ordinary character>, <whitespace>**<punctuation>, or <punctuation>**<punctuation>. (Here, "ordinary character" refers to any character that is not whitespace or punctuation.) The first case is presumably intended to allow markers embedded within a word, like **마크다운**은, while the latter cases are meant to provide limited support for markers placed before punctuation, such as in 이 **"마크다운"** 형식은. The rules for right-flanking are identical, just in the opposite direction.

However, when you try to parse a string like **마크다운(Markdown)**은 using these rules, it fails because the closing ** is preceded by punctuation (a parenthesis) and it must be followed by whitespace or another punctuation mark to be considered right-flanking. Since it is followed by an ordinary letter (), it is not recognized as right-flanking and thus fails to close the emphasis.

As explained in the CommonMark spec, the original intent of this rule was to support nested emphasis, like **this **way** of nesting**. Since users typically don't insert spaces inside emphasis markers (e.g., **word **), the spec attempts to resolve ambiguity by declaring that markers adjacent to whitespace can only function in a specific direction. However, in CJK (Chinese, Japanese, Korean) environments, either spaces are completly absent or (as in Korean) punctuations are commonly used within a word. Consequently, there are clear limits to inferring whether a delimiter is left or right-flanking based on these rules. Even if we were to allow <ordinary character>**<punctuation> to be interpreted as left-flanking to accommodate cases like **마크다운(Markdown)**은, how would we handle something like このような**[状況](...)は**?

In my view, the utility of nested emphasis is marginal at best, while the frustration it causes in CJK environments is significant. Furthermore, because LLMs generate Markdown based on how people would actually use it---rather than strictly following the design intent of CommonMark---this latent inconvenience that users have long felt is now being brought directly to the surface.

* 21. Ba5# - 백이 룩과 퀸을 희생한 후, 퀸 대신 **비숍(Ba5)**이 결정적인 체크메이트를 성공시킵니다. 흑 킹이 탈출할 곳이 없으며, 백의 기물로 막을 수도 없습니다. [The emphasized portion `비숍(Ba5)` is surrounded by unrendered Markdown emphasis marks `**`.]
14
2
1
0
0
0
0
0

Hi folks: this is woefully just a quick start, but I created a Mastodon Pack of the top most active posters I've seen on the so far. Will up this later to day to top 30 later. Very up to add anyone - and very up to transfer ownerhsip of this starter pack to someone from that server.

Also I added @CaseyCasey Newton - but could not add @pj nor @kevinKevin Roose as their forkiverse mastodon accounts are set to not allow it. In comment I'll note ow to fix.

fedidevs.com/s/ODQy/

0

Hi folks: this is woefully just a quick start, but I created a Mastodon Pack of the top most active posters I've seen on the so far. Will up this later to day to top 30 later. Very up to add anyone - and very up to transfer ownerhsip of this starter pack to someone from that server.

Also I added @CaseyCasey Newton - but could not add @pj nor @kevinKevin Roose as their forkiverse mastodon accounts are set to not allow it. In comment I'll note ow to fix.

fedidevs.com/s/ODQy/

0
0

The video here is harrowing, but the woman refusing entry to ICE gets stronger and stronger throughout. She also exercises her rights with skill and knowledge, doing so precisely as she should have. Every American should watch.

reddit.com/r/minnesota/comment

0
0
0

UK Prime Minister Starmer seeks support for international X ban

UK Prime Minister Keir Starmer is in talks with Canada and Australia in an effort to muster support for a potential international ban on social media X. It comes after the platform’s integrated AI assistant, Grok, was used to generate sexualised deepfakes of women and children.

euractiv.com/news/uk-prime-min

0
0
0

The UK needs digital sovereignty to keep our communications, banking, energy, travel and healthcare systems secure.

If we stay dependent on foreign tech firms for our digital infrastructure, the UK risks its independence and resilience.

Sign our petition ⬇️

you.38degrees.org.uk/petitions

0
0
0
0
0
0

This is Quake running on CGA. Normally Quake requires VGA (320x200 256 colours), but WinQuake can actually run fine on any card supported by Windows 95.

Now, CGA doesn't support Windows 95. But turns out with a little manual hex editing, it can start with a CGA driver from Windows 3.0 (I believe no one succeeded in doing this before). And with Windows 95 kind of sort of running on CGA, @gloriouscow recommended to try if Quake would run. It does, and it is almost playable. Definitely more playable than Doom8088 on MDA.

0
0
0
0

"The Party told you to reject the evidence of your eyes and ears. It was their final, most essential command. His heart sank as he thought of the enormous power arrayed against him, the ease with which any Party intellectual would overthrow him in debate, the subtle arguments which he would not be able to understand, much less answer. And yet he was in the right! They were wrong and he was right. ...

The obvious, the silly, and the true had got to be defended. Truisms are true, hold on to that! The solid world exists, its laws do not change. Stones are hard, water is wet, objects unsupported fall towards the earth's centre. With the feeling that he was speaking to O'Brien, and also that he was setting forth an important axiom, he wrote:

Freedom is the freedom to say that two plus two make four. If that is granted, all else follows."

- George Orwell, _1984_

0

"The Party told you to reject the evidence of your eyes and ears. It was their final, most essential command. His heart sank as he thought of the enormous power arrayed against him, the ease with which any Party intellectual would overthrow him in debate, the subtle arguments which he would not be able to understand, much less answer. And yet he was in the right! They were wrong and he was right. ...

0
0
0
0
0
1

플래닛의 연말결산이 찾아왔어요! 🎄
2025년 마스토돈 연말결산을 특별히 제작된 레니 :reni: 일러스트와 함께 확인해보세요.

(사용하는 모바일 앱에 따라 알림이 보이지 않는 경우가 있어요. 또한 2025년에 해시태그를 사용한 적 없다면 연말결산이 생성되지 않을 수 있어요. 대체 왜??? 마스토돈 개발팀에 문의해보고 싶네요...)

2025 #Wrapstodon 이 기다리고 있습니다! 올 해 마스토돈에서 있었던 최고의 순간과 기억들을 열어보세요!
#Wrapstodon 보기(링크)마스토돈과 함께 해주셔서 감사합니다! 2025년 결산입니다:
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0