HNHacker News
TopNewBestAskShowJobs

maxloh

4,431 karma · joined May 23, 2021

submissionscomments
maxloh··on Show HN: Distilling DeepSeek into GPT-OSS doesn't transfer censorship. Try it
Surprised to find no mention of Hong Kong and the Russian invasion of Ukraine in the dataset. It's interesting how the fine-tuned model will respond.
maxloh··on Show HN: Distilling DeepSeek into GPT-OSS doesn't transfer censorship. Try it
I suspect how well this approach would work. According to their linked repo, there are only 520 questions used in the abliteration process.

https://github.com/Sumandora/remove-refusals-with-transforme...

maxloh··on Codex Security
IMHO, tokens should be refunded if the agent refuses to work. Charging users for a session that produced no final output is ridiculous.
maxloh··on Show HN: Trylle – The Next-Gen Git Platform for Modern Teams
The landing page does a very poor job of explaining how this product differs from established platforms like GitLab, Gitea, or Codeberg, all of which are open source.

Also, I strongly doubt its GitHub Actions compatibility. Even an established and well-maintained project like Act has known compatibility issues, and GitHub's official images are extremely resource-intensive to build.

maxloh··on China State Media Says Support for Open AI Models Has Limits
https://archive.ph/OKhZv
maxloh··on Git rebase -i is not that scary
I found the VS Code GitLens extension to be a good abstraction for interactive rebase. It provides a drag-and-drop UI with a dropdown to select actions applied to each commit. That is much easier than editing a text file.

Here's a GIF I found with Google: https://yogwang.site/2025/cursor-vscode-gitlens-rebase-edito...

maxloh··on League of Legends designer shares game design field manual
If you actually played this game and read the patch notes, you'd have a different perspective on this.

There's a lot of weird code and technical debt in the game client. For example, a map-wide filter (Nocturne's ult) is actually a giant minion covering the whole map.

maxloh··on Writing fingerprint analysis of responses reveals Kimi's similarity to Claude
I don't see any US labs suing their Chinese counterparts. It is practically impossible. That makes it a verbal battle, not a legal one.

From a strictly moral standpoint, it is illogical to state, "You stole things from my archive of stolen goods." LLM vendors need to morally own the knowledge before their accusations hold. It is unsound to claim ownership of something resulting from stolen property, regardless of the work you put into building it.

Either those accusations don't hold at all, all training is just "fair use", or the two processes you described are just different forms of "stealing."

Bottom line, even if we consider knowledge copyrightable, it is just stolen goods changing hands. You cannot claim ownership of a derivative work if you deny ownership to the sources your work was derived from. No one holds a higher moral standing than another.

maxloh··on Writing fingerprint analysis of responses reveals Kimi's similarity to Claude
Think of it in terms of distilled knowledge, not distilled LLMs.

I find both claims unsound, though. Knowledge or model behavior itself is not copyrightable, so all these claims just boil down to the "I am not happy with that" argument. You cannot claim someone is stealing something you don't own in the first place.

maxloh··on OpenAI and Anthropic unite against open-weight AI risks to their bottom line
It is ridiculous that OpenAI is a non-profit and Anthropic is a PBC, yet both actively resist open access to AI. This hinders human progress rather than serving it.
maxloh··on OpenAI and Anthropic unite against open-weight AI risks to their bottom line
It is ridiculous that OpenAI is a non-profit and Anthropic is a PBC, yet both actively resist open access to AI. This hinders human progress rather than serving it.
maxloh··on Show HN: Bento - An entire PowerPoint in one HTML file (edit+view+data+collab)
HTML and CSS feel fundamentally better suited for slide decks than JSON. At their core, most slides just boil down to simple flexbox structures:

  ┌─────────────────────────────────────────┐
  │ ┌─ Row 1 Container ───────────────────┐ │
  │ │ ┌─ 4-way padding ─────────────────┐ │ │
  │ │ │ [ Text Content ]  (child node)  │ │ │
  │ │ └─────────────────────────────────┘ │ │
  │ └─────────────────────────────────────┘ │
  │                  ↕ gap                  │
  │ ┌─ Row 2 Container ───────────────────┐ │
  │ │ ┌─ 4-way padding ─────────────────┐ │ │
  │ │ │ [ Text Content ]  (child node)  │ │ │
  │ │ └─────────────────────────────────┘ │ │
  │ └─────────────────────────────────────┘ │
  │                  ↕ gap                  │
  │ ┌─ Row 3 Container ───────────────────┐ │
  │ │ ┌─ 4-way padding ─────────────────┐ │ │
  │ │ │ [ Text Content ]  (child node)  │ │ │
  │ │ └─────────────────────────────────┘ │ │
  │ └─────────────────────────────────────┘ │
  └─────────────────────────────────────────┘
Layouts like this are naturally expressed using CSS and a layout tree, rather than forced into hardcoded coordinates.
maxloh··on Kimi K3 Is Competitive with Fable; Kimi K3 and Fable Is SoTA
I would say so.

There is a lot of noun phrase usage in places where complete sentences are expected. Articles (a, an, the), transition phrases and even subjects are mostly dropped, and the sentences are too long without a break.

maxloh··on Kimi K3 Is Competitive with Fable; Kimi K3 and Fable Is SoTA
Yeah. I've found that Opus by default outputs something I call "Claude-lang." It consists of oversimplified, grammatically incomplete sentences that I find painful to read.

Maybe it is something that is easy for it to read and write, but definitely not for humans.

For example,

  Skim once now; refer back while reading Part II. \*Every bold technical term in Part II is defined here\* — treat these as a dictionary, not a reading assignment. The first table covers the vocabulary of the *deck*; the three that follow cover the *methodology* vocabulary introduced in Part II, grouped so you can find a term fast: \*(A)\* the logic of rules, \*(B)\* the neural-network & training machinery, \*(C)\* the method-design ideas.

  JMRL is the paper the thesis instantiates, so this is the one to know cold. Its pitch is \*end-to-end\*: earlier rule methods (LogicRE, MILR) bolt a rule learner *onto a frozen* extractor in a pipeline and suffer \*error propagation\*; JMRL trains the rule module *jointly* with the extractor.

  **Identity.** Conformal prediction for NER producing **finite-sample-valid prediction sets** at two granularities: **full-sequence** sets over entire label sequences (capturing contextual dependence — "if Sarah=PER then NYC likely LOC") and **subsequence-level** (per-span, **class-conditional**) sets; an **integrated** method filters full-sequence predictions with entity-level sets. Adds **covariate-stratified calibration** by **sentence length and language** for valid multilingual coverage, and studies **combined nonconformity scores** (Naive / Conditional / RAPS). **Read in this order.** Abstract → §1 contributions (full-sequence / subsequence / integrated / **covariate (length + language) calibration** / combined scores) → §2 CP recap (inductive split-CP) → §3 NER formulation (IOB2, CRF) → the subsequence / entity-level set construction + class-conditional coverage → the language-stratified calibration results. **Why it matters here.** The **span-level construction** for **Topic 11**'s per-triple score, and — crucially — its **language-stratified calibration is exactly the EN↔zh case**: it shows how to keep conformal coverage valid across languages of differing length/script. Complements PASC (pipeline-level joint coverage) with the *NER-internal* set construction. **Caveat.** A heavy statistics paper (44 pp., *Annals of Applied Statistics* submission) with CRF-based NER; the project needs only the **inductive split-CP + subsequence/entity-level sets + language-stratified calibration**, not the full-sequence machinery (likely overkill for triple-confidence). Assumes exchangeability — borderline under the EN→zh shift, which is precisely why the PASC/ConformalNER *shift* analyses matter.
(Yeah, Opus outputted it in one line)
maxloh··on Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber
Not really. Gemini 3.6 Flash actually cost $0.01 more per task, compared to GLM 5.2.

https://artificialanalysis.ai/models/gemini-3-6-flash

maxloh··on Gemini 3.6 Flash, 3.5 Flash-Lite, and 3.5 Flash Cyber
I personally doubt that.

It would be a shame if they cannot beat Kimi K3 or Qwen3.8 Max, both of which are claimed to be Fable-like. If that is true, it will be [or would be] the first time a major American lab falls behind a Chinese competitor.

maxloh··on Qwen-Image-3.0: Rich Content, Authentic Details, Deep Knowledge
I am curious whether the model requires a font to be installed. Does it also generate the glyphs for the text?
maxloh··on Annoying and alarming things about OpenCode
Their "OpenCode" naming is controversial too.

Quoting moozilla's comment 11 months ago (https://news.ycombinator.com/item?id=44741894):

---

If anyone is curious on the context: https://x.com/thdxr/status/1933561254481666466 https://x.com/meowgorithm/status/1933593074820891062 https://www.youtube.com/watch?v=qCJBbVJ_wP0

Gemini summary of the above:

- Kujtim Hoxha creates a project named TermAI using open-source libraries from the company Charm.

- Two other developers, Dax (a well-known internet personality and developer) and Adam (a developer and co-founder of Chef, known for his work on open-source and developer tools), join the project.

- They rebrand it to OpenCode, with Dax buying the domain and both heavily promoting it and improving the UI/UX.

- The project rapidly gains popularity and GitHub stars, largely due to Dax and Adam's influence and contributions.

- Charm, the company behind the original libraries, offers Kujtim a full-time role to continue working on the project, effectively acqui-hiring him.

- Kujtim accepts the offer. As the original owner of the GitHub repository, he moves the project and its stars to Charm's organization. Dax and Adam object, not wanting the community project to be owned by a VC-backed company.

- Allegations surface that Charm rewrote git history to remove Dax's commits, banned Adam from the repo, and deleted comments that were critical of the move.

- Dax and Adam, who own the opencode.ai domain and claim ownership of the brand they created, fork the original repo and launch their own version under the OpenCode name.

- For a time, two competing projects named OpenCode exist, causing significant community confusion.

- Following the public backlash, Charm eventually renames its version to Crush, ceding the OpenCode name to the project now maintained by Dax and Adam.

maxloh··on Lobste.rs is now running on SQLite
Nevermind, I got it. Thank you.
maxloh··on Lobste.rs is now running on SQLite
Nevermind, I get it. Thank you.
maxloh··on Lobste.rs is now running on SQLite
I have successfully singed up. Thank you very much!
maxloh··on Lobste.rs is now running on SQLite
Hi. Could you send me an invite too? Email in my profile :)
maxloh··on Lobste.rs is now running on SQLite
Hi. Could you send me an invite? Email in my profile :)
maxloh··on Lobste.rs is now running on SQLite
Hi. Could you send me an invite? Email in my profile :)
maxloh··on Claude Code: Anatomy of a Misfeature
> What if the agent makes the wrong choice? How many tokens have been burned in the meantime?

It is much worse than that. Claude Code doesn't auto-commit when stopping for an answer. There might be possible data loss if an uncommitted file is edited.

Good luck recovering the file from the JSONL conversation history.

maxloh··on LM Studio Bionic: the AI agent for open models
Yeah, we already have many open-source agent systems. If you prefer a UI, OpenCode itself has a beta desktop app.

I don't think we need closed-source developer tools, especially ones where they might restrict access if they decide to start charging for them later.

maxloh··on Grok Build is open source
Could you update the repo without force-pushing or rewriting the commit history?

Also, it would be great if you could tag the versions as well.

maxloh··on Show HN: Firefox in WebAssembly
No, it is possible with extensions.

Extensions can inject headers, such as Access-Control-Allow-Origin: *, to unblock cross-origin requests. In the Manifest V3 context, however, that might require patching window.fetch and window.XMLHttpRequest.

For example,

  // content.js
  window.fetch = async (...args) => {
    const request = args[0] instanceof Request ? args[0].url : args[0]
    const config = args[1] || {}

    return new Promise((resolve, reject) => {
      chrome.runtime.sendMessage({ action: "proxyFetch", request, config }, response => {
        if (response.error) {
          const err = new Error(response.error.message)
          err.name = response.error.name
          err.stack = response.error.stack
          if (response.error.cause) err.cause = response.error.cause
          reject(err)
        } else {
          const base64Data = response.dataUrl.split(",")[1]
          const bytes = Uint8Array.from(atob(base64Data), c => c.charCodeAt(0))
          const contentType = response.headers["content-type"] || "application/octet-stream"
          const blob = new Blob([bytes], { type: contentType })

          const status = response.status
          const statusText = response.statusText
          const headers = new Headers(response.headers)
          const body = status === 204 || status === 205 || status === 304 ? null : blob
          resolve(new Response(body, { status, statusText, headers }))
        }
      })
    })
  }

  // Background.js
  chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
    if (message.action === "proxyFetch") {
      fetch(message.request, message.config)
        .then(async res => {
          const headers = Object.fromEntries(res.headers.entries())
          const blob = await res.blob()
          const reader = new FileReader()
          reader.onloadend = () =>
            sendResponse({ status: res.status, statusText: res.statusText, headers, dataUrl: reader.result })
          reader.readAsDataURL(blob)
        })
        .catch(err => {
          const { name, message, code, stack } = err
          sendResponse({ error: { name, message, code, stack } })
        })

      // Keeps the message channel open for the async fetch
      return true
    }
  })
maxloh··on Inkling: Our Open-Weights Model
LLMs aren't just for coding and math. Many people understand the world through LLMs, even when it comes to philosophy and politics.

If you understand the world through a Chinese LLM, you are seeing it through a biased lens stemming from biased training data.

(Also, in that way, having all major LLMs developed by the US carries a risk too. We need more diversity than just the viewpoints of the US or China.)

maxloh··on Inkling: Our Open-Weights Model
I love Allen AI.

I find it wonderful that, as a non-profit, they are only one to two years behind SOTA models that cost billions of dollars to build, if not more.

← PreviousPage 2 of 30Next →