frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

IBM AI ('Bob') Downloads and Executes Malware

https://www.promptarmor.com/resources/ibm-ai-(-bob-)-downloads-and-executes-malware
95•takira•1h ago•41 comments

Bose is open-sourcing its old smart speakers instead of bricking them

https://www.theverge.com/news/858501/bose-soundtouch-smart-speakers-open-source
1494•rayrey•4h ago•240 comments

Iran Goes Into IPv6 Blackout

https://radar.cloudflare.com/routing/ir
213•honeycrispy•3h ago•114 comments

The Jeff Dean Facts

https://github.com/LRitzdorf/TheJeffDeanFacts
285•ravenical•6h ago•102 comments

Fixing a Buffer Overflow in Unix v4 Like It's 1973

https://sigma-star.at/blog/2025/12/unix-v4-buffer-overflow/
10•vzaliva•1h ago•0 comments

Google AI Studio is now sponsoring Tailwind CSS

https://twitter.com/OfficialLoganK/status/2009339263251566902
40•qwertyforce•27m ago•2 comments

Lights and Shadows (2020)

https://ciechanow.ski/lights-and-shadows/
201•kg•6d ago•28 comments

I used Lego to design a farm for people who are blind – like me

https://www.bbc.co.uk/news/articles/c4g4zlyqnr0o
64•ColinWright•3d ago•7 comments

Digital Red Queen: Adversarial Program Evolution in Core War with LLMs

https://sakana.ai/drq/
33•hardmaru•3h ago•3 comments

Ask HN: Is it time for HN to implement a form of captcha?

17•Rooster61•37m ago•17 comments

Tamarind Bio (YC W24) Is Hiring Infrastructure Engineers

https://www.ycombinator.com/companies/tamarind-bio/jobs/HPRZAz3-infrastructure-engineer
1•sherryliu987•2h ago

Project Patchouli: Open-source electromagnetic drawing tablet hardware

https://patchouli.readthedocs.io/en/latest/
396•ffin•14h ago•46 comments

A closer look at a BGP anomaly in Venezuela

https://blog.cloudflare.com/bgp-route-leak-venezuela/
329•ChrisArchitect•12h ago•178 comments

Dynamic Large Concept Models: Latent Reasoning in an Adaptive Semantic Space

https://arxiv.org/abs/2512.24617
38•gmays•3h ago•4 comments

Show HN: DeepDream for Video with Temporal Consistency

https://github.com/jeremicna/deepdream-video-pytorch
52•fruitbarrel•6h ago•17 comments

Open Infrastructure Map

https://openinframap.org
360•efskap•16h ago•84 comments

Ushikuvirus: Newly discovered virus may offer clues to the origin of eukaryotes

https://www.tus.ac.jp/en/mediarelations/archive/20251219_9539.html
5•rustoo•14h ago•0 comments

The Napoleon Technique: Postponing things to increase productivity

https://effectiviology.com/napoleon/
211•Khaine•3d ago•108 comments

Dell admits consumers don't care about AI PCs

https://www.pcgamer.com/hardware/dells-ces-2026-chat-was-the-most-pleasingly-un-ai-briefing-ive-h...
211•mossTechnician•1d ago•135 comments

Kernel bugs hide for 2 years on average. Some hide for 20

https://pebblebed.com/blog/kernel-bugs
263•kmavm•17h ago•139 comments

Show HN: I built a tool to create AI agents that live in iMessage

https://tryflux.ai/
8•danielsdk•4d ago•6 comments

Japanese electronics store pleads for old PCs amid ongoing hardware shortage

https://www.tomshardware.com/desktops/pc-building/major-japanese-electronics-store-begs-customers...
113•speckx•4h ago•67 comments

Claude keeps nagging about "Help improve Claude" inspite of previous decline

9•onesandofgrain•29m ago•8 comments

The Rise of Computer Games, Part II: Digitizing Nerddom – Creatures of Thought

https://technicshistory.com/2026/01/02/the-rise-of-computer-games-part-ii-digitizing-nerddom/
13•rbanffy•5d ago•0 comments

Signals vs. Query-Based Compilers

https://marvinh.dev/blog/signals-vs-query-based-compilers/
21•todsacerdoti•4d ago•2 comments

Nvidia Kicks Off the Next Generation of AI with Rubin

https://nvidianews.nvidia.com/news/rubin-platform-ai-supercomputer
23•TSiege•1h ago•13 comments

Go.sum is not a lockfile

https://words.filippo.io/gosum/
151•pabs3•15h ago•66 comments

Supernova Remnant Video from NASA's Chandra Is Decades in Making

https://www.nasa.gov/missions/chandra/supernova-remnant-video-from-nasas-chandra-is-decades-in-ma...
20•dylan604•1h ago•2 comments

Tailscale state file encryption no longer enabled by default

https://tailscale.com/changelog
344•traceroute66•23h ago•132 comments

Lessons from Hash Table Merging

https://gist.github.com/attractivechaos/d2efc77cc1db56bbd5fc597987e73338
66•attractivechaos•6d ago•13 comments
Open in hackernews

Show HN: Tylax – A bidirectional LaTeX to Typst converter in Rust

https://github.com/scipenai/tylax
25•democat•1d ago
Hi HN, author here.

I built Tylax because I wanted to migrate my old LaTeX papers to Typst but found existing regex-based scripts too fragile for nested environments.

Tylax parses LaTeX into an AST (using mitex-parser) and converts it to Typst code. It supports: - Full document structure (not just math snippets) - Complex math (matrices, integrals) - Experimental TikZ -> CeTZ graphics conversion - Runs in browser via WASM

Repo: https://github.com/scipenai/tylax Web Demo: https://convert.silkyai.cn/

Happy to answer any questions!

Comments

leephillips•23h ago
Could you briefly explain why Pandoc was not sufficient? (Obviously it can’t do the TikZ -> CeTZ conversion.)
democat•9h ago
Great question! I love Pandoc and use it often, but as a "universal" converter, it sometimes misses the nuances of specific pairs. Tylax is designed specifically for the LaTeX $\leftrightarrow$ Typst workflow. By focusing on just this 1-on-1 pair, we can offer: Better Math & Macros: A built-in macro expander handles custom commands (\newcommand) and complex nested math that general parsers often struggle with. Cleaner Code: The output is designed to be idiomatic and human-readable (e.g., using native Typst functions), not just "compilable." WASM Support: Being written in Rust means it runs instantly in the browser, making it easy to embed in web apps without a backend. Pandoc is the Swiss Army knife; we're trying to be a specialized tool just for this specific transition.
leephillips•6h ago
That makes sense, especially the issue with macros. As many people have pointed out, since TeX is not just markup but an actual programming language, its output can not be determined, in the general case, without running the source through the TeX interpreter. Of course, the same is true of Typst.
democat•3h ago
You are absolutely spot on. Both systems are Turing-complete, so a perfect conversion without a full runtime execution is theoretically impossible for the general case. That's exactly the trade-off Tylax makes: we aren't trying to be a full TeX engine (which would be overkill and slow). Instead, we aim to cover the "99% use case" of academic and technical writing—where macros are mostly used for shorthand, notation aliases, or simple formatting, rather than complex computation. Our "limited macro expander" is the middle ground: it's dumb enough to be fast and safe (no infinite loops), but smart enough to handle the \newcommand shortcuts that riddle almost every paper. It's about being pragmatically useful rather than theoretically perfect
holg•23h ago
nice job! so i tried around and so far am impressed, anyhow:

\newcommand{\foo}[1]{\bar{#1}} \renewcommand{\bar}[1]{\foo{#1}} % mutual recursion \foo{x} \def\x{\y}\def\y{z}\x % chained expansion

+>

#set page(paper: "a4") #set heading(numbering: "1.") #set math.equation(numbering: "(1)") /* \foo / / \y /

\foo{x} → \bar{x} → \foo{x} → ∞ Expected: hit depth limit, emit warning, output either x or the unexpanded \foo{x} Actual: /

\foo */ — silently converted to a comment, lost the argument x entirely

democat•9h ago
Thanks for the stress test! You are absolutely right, and I really appreciate you catching this edge case.

I've traced the issue in the codebase: 1. The recursion depth limit *is* triggering correctly (preventing an infinite loop). 2. However, when it bails out, it returns the partially expanded macro call (e.g., `\foo{x}`). 3. Since the macro definition was removed during the preprocessing step, the parser then sees `\foo` as an unknown command and converts it into an error comment, accidentally discarding the argument `{x}` in the process.

*The intended behavior* should definitely be to preserve the content (the `x`) even if the macro logic fails. I will fix the fallback logic to ensure it fails gracefully without eating the arguments.

Thanks again for the sharp eye! These kinds of checks are super helpful.