HN user

lifthrasiir

14,176 karma

Kang Seonghoon aka lifthrasiir and many other nicknames. (Twitter @senokay, Bluesky @mearie.org, Github @lifthrasiir, https://mearie.org/) Views my own, I'm not a laywer (nor any other occupation that might require professional qualifications), your mileage may vary, yadda yadda yadda.

Brief bio: Born in South Korea. Was a wannabe programming language researcher until I realized I'm not fit for the academia. Went to several startups with various duties. Then became a gamedev---primarily server frameworks and infrastructure but did many others too---in a big company for nearly a decade until I finally burnt out. Then worked for an ML accelerator startup doing tons of systems programming. Still doing strange things over the course: one winning IOCCC entry, a full-fledged type checker for Lua, several influential Rust libraries including Chrono, compression stuffs like Roadroller and J40 etc. Known for needlessly big walls of text.

[ my public key: https://keybase.io/lifthrasiir; my proof: https://keybase.io/lifthrasiir/sigs/dGcjGsucdiIiTpeVc7WH5YfQNZnkypj-azYwkMJH60Y ]

Posts87
Comments3,973
View on HN
hackers.pub 16d ago

My 11-year-old font bug

lifthrasiir
4pts0
github.com 2mo ago

Show HN: WebAssembly Interpreter in a Header

lifthrasiir
2pts0
krzyhau.itch.io 5mo ago

Maligna Kodera

lifthrasiir
1pts0
github.com 10mo ago

Cex.C – Comprehensively EXtended C Language

lifthrasiir
26pts9
ft-checker.com 1y ago

Free-Threaded Python Library Compatibility Checker

lifthrasiir
38pts7
js1024.fun 1y ago

Epyt: Typing game in 1022 bytes (JS1024 2022 winner)

lifthrasiir
1pts1
www.qcoder.jp 1y ago

QCoder, quantum programming contest platform

lifthrasiir
1pts0
onlyspans.net 2y ago

Only <SPAN>s

lifthrasiir
135pts70
haroldbot.nl 2y ago

Haroldbot, client-side tool that checks 32-bit bitvector arithmetic equivalence

lifthrasiir
48pts9
numcalc.com 2y ago

Numcalc.com: The Scientific Web Calculator

lifthrasiir
2pts0
hackmd.io 2y ago

So what the heck has happened with LK-99 really?

lifthrasiir
23pts12
github.com 3y ago

Graphest: A Faithful Graphing Calculator

lifthrasiir
2pts0
js1024.fun 3y ago

Show HN: epyt, a typing game in 1KB of JavaScript (JS1024 2022 winner)

lifthrasiir
2pts0
js1024.fun 3y ago

JS1024 Annual JavaScript Golfing Competition: 2022 Results

lifthrasiir
4pts0
bbchallenge.org 4y ago

The Busy Beaver Challenge

lifthrasiir
3pts0
en.wikipedia.org 4y ago

Sega Channel

lifthrasiir
8pts0
blog.unicode.org 4y ago

The Past and Future of Flag Emoji

lifthrasiir
2pts0
exoticorn.github.io 4y ago

MicroW8: A WebAssembly based fantasy console

lifthrasiir
86pts15
github.com 4y ago

RE2: iOS got rejected due to legal issue (Guideline 5.0 – Legal) Syria

lifthrasiir
48pts8
www.madore.org 4y ago

Quines (Self-Replicating Programs)

lifthrasiir
66pts20
tinyprinter.club 4y ago

Tinyprinter.club

lifthrasiir
91pts59
lifthrasiir.github.io 4y ago

Show HN: Roadroller, a heavyweight packer for large JavaScript demos

lifthrasiir
6pts0
www.zompist.com 4y ago

Hou tu pranownse Inglish (2000)

lifthrasiir
2pts0
en.wikipedia.org 5y ago

Densely Packed Decimal

lifthrasiir
2pts0
www.unicompat.com 5y ago

Unicompat: Compatibility of Unicode Characters Platforms

lifthrasiir
2pts0
foonathan.net 5y ago

Operator Precedence Is Broken

lifthrasiir
3pts0
lists.gnu.org 5y ago

RMS regrets not accepting LLVM into GCC during 2005 (2015)

lifthrasiir
17pts18
github.com 5y ago

JSON parser written in 6502 assembly language

lifthrasiir
188pts85
fy.blackhats.net.au 5y ago

Against Packaging Rust Crates

lifthrasiir
2pts0
www.cl.cam.ac.uk 5y ago

Towards copy-evident JPEG images (2009) [pdf]

lifthrasiir
2pts0

In the three examples below, the model accurately renders Japanese, Korean, and Spanish respectively.

And yet the Korean text is not accurate... [1]

[1] E.g. "드레스 컬렉션 dress collection" has vowels ㅔ mixed with ㅐ, "초웜한" should be "초월한 exceeding", "신키한" should be "실키한 silky", "디자언되다" should be "디자인되다 have been designed", "로얼" should be "로열 royal", and so on.

I used to make a hybrid bitmap-vector font called Unison [1] a decade ago and I made it in that way so that I don't have to learn the fine art of (vector) typography. Or at least that I could skip most of it (for example, kerning is still required for proportional fonts, but that doesn't have to be very precise in bitmap fonts). I'm now working on Unison once again after 11 years of time, this time armed with a dedicated font editor called Uniform. I haven't publicly released Uniform in public yet but anyone interested can already download and compile it.

[1] https://github.com/lifthrasiir/unison

Don't do this:

  cat file | wc -l            => wc -l < file
  cat file | head -n 5        => head -n 5 file
  cat file | awk '{print $1}' => awk '{print $1}' file
  cat file | sort             => sort file
Do this instead:
  cat file | wc -l            => <file wc -l
  cat file | head -n 5        => <file head -n 5
  cat file | awk '{print $1}' => <file awk '{print $1}'
  cat file | sort             => <file sort
The front-cat abuse is all about the order. The effective solution needs to keep the relative order of arguments.

Personally I don't think that matters, because the article is problematic enough when it can be read like ad hominem. Assuming that the question was phrased reasonably neutrally (but not necessarily free of hidden biases), the fact that LLM concluded so is an enough evidence here. Also as a non-LLM data point, I felt roughly same (especially the "softening" bit).

While I understand ZSF's bittersweet relationship with Oven and agree to several points (especially preparedness), this writing is badly structured and that shows something. Hope to see him turning around.

The project in question needed lots of near-instant human judgements and the iteration loop had to be extremely tight. Maybe Rust should be reconsidered once it gets stabilized enough, but not right now.

Oh, yeah that might be confusing. I meant "you can say the same thing for GC language if that's true, which isn't necessarily true, so that must be false".

More precisely speaking: GC languages are said to delay memory problems far beyond the horizon, which is often unreachable throughout the project's history. Zig can be a similar case.

There's less and less reason to use GC'd languages in the agentic coding era.

Faster iteration, maybe? Rust's safety guarantee isn't exactly free (while still being very excellent) and does affect iteration time. I have a private project (>300K LoC) that has been translated from Python to TypeScript and the reason we couldn't use Rust was definitely the iteration time.

The same concern applies to every GC language, so it's not necessarily bad for Zig. Bun can have been grown too large for Zig to be effective, while moderately sized projects may still greatly benefit from Zig.

Claude itself (Opus) gave me the following conclusion:

The article frames Claude Code as the latest step in a lineage from punch cards → ed → modern editors → AI agents. Multiple team members say they no longer write any code by hand. The overall tone is "we built the right primitive (read/edit/bash), bet on future model improvements, and it paid off."

Honestly I don't want to endure an awkward terminal interface and/or questionable design to just arrive at this conclusion.

Pandoc Lua Filters 17 days ago

A universal document converter is expected to expand via adding support for additional formats---that's okay (same for your other examples). I'm much more worried about the widening scope of the project.

Rust compiler is famously backward compatible all the way to 1.0 (after almost a decade of zero guarantees). My codes targeting early 1.x releases still work in the modern Rust, though the convention may significantly differ from the modern Rust. Your point might be true for some other languages but there is a good reason to refute that for Rust.

Ah, and many F77 libraries are still in active use. Nowadays they are used via C or Python wrapper, and I guess you said "using it as it is" to disregard that, but we were talking about what original maintainers are expected to do and the original F77 authors have nothing to do in order to stay relevant here.