frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: Tangent – Security log pipeline powered by WASM

https://github.com/telophasehq/tangent
9•ethanblackburn•2h ago
Hi HN! We’re Ethan and Danny, the authors of Tangent (https://github.com/telophasehq/tangent), a Rust-based log pipeline where all normalization, enrichment, and detection logic runs as WASM plugins.

We kept seeing the same problems in the OCSF (https://ocsf.io) community: 1) Schemas change constantly. Large companies have whole teams dedicated to keeping vendor→OCSF mappings up to date. 2) There’s no shared library of mappings, so everyone recreates the same work. 3) Writing mappers is tedious, repetitive work. 4) Most pipelines use proprietary DSLs that are hard to share and hard for tools/LLMs to generate.

Tangent takes a different approach: no DSLs – mappings and enrichments are just normal code compiled to WASM, shareable plugins – we maintain a community library (https://github.com/telophasehq/tangent-plugins), interoperability – we can run other engines’ DSLs (e.g., Bloblang) inside WASM for easy migration, full flexibility – plugins can validate schemas, call external APIs (https://github.com/telophasehq/tangent/blob/main/examples/en...), or perform complex transforms (https://github.com/telophasehq/tangent-plugins/blob/main/zee...).

Here's an example Python transformation plugin to drop all fields from a log except `message`:

  import json
  
  from typing import List
  
  from wit_world.imports import log
  
  # `log.Logview` is Tangent's zero-copy JSON accessor type.
  
  def process_logs(self, logs: List[log.Logview]) -> bytes:
  
      out = bytearray()
  
      for lv in logs:
  
          msg = lv.get("msg")
  
          value = msg.value if msg is not None else ""
  
          out.extend(json.dumps({"message": value}).encode() + b"\n")
  
      return bytes(out)
We have plenty more examples in the repo.

Because plugins are just Go/Python/Rust, LLMs can create new mappers with ease. For example, I asked:

  Generate a mapper from AWS Security Hub Finding to OCSF
and only had to make a few minor tweaks. (https://github.com/telophasehq/tangent-plugins/blob/main/aws...)

Performance-wise, a 16-core Amazon Linux box processes ~480 MB/s end-to-end (TCP → Rust-WASM transform → sink) on ~100-byte JSON logs. The CLI includes tooling to scaffold, test, and benchmark plugins locally. Here's a deep dive into how we are able to get this performance: https://docs.telophasehq.com/runtime.

We’d love to get your feedback! What do you think?

Show HN: F32 – An Extremely Small ESP32 Board

https://github.com/PegorK/f32
101•pegor•23h ago•11 comments

Show HN: My hobby OS that runs Minecraft

https://astral-os.org/posts/2025/10/31/astral-minecraft.html
35•avaliosdev•2d ago•4 comments

Show HN: Tangent – Security log pipeline powered by WASM

https://github.com/telophasehq/tangent
9•ethanblackburn•2h ago•0 comments

Show HN: Supabase-Test – Fast Isolated Postgres DBs for Testing Supabase RLS

https://www.npmjs.com/package/supabase-test
5•pyramation•51m ago•1 comments

Show HN: Search London StreetView panoramas by text

https://london.publicinsights.uk
2•dfworks•1h ago•1 comments

Show HN: MCP Traffic Analysis Tool

https://github.com/mcp-shark/mcp-shark
18•o4isec•3d ago•0 comments

Show HN: Chrome Store–featured extension that writes X replies via DOM observers

https://www.xinsight.me/
4•shashankshukla•4h ago•0 comments

Show HN: I made a down detector for down detector

https://downdetectorsdowndetector.com
559•gusowen•1d ago•161 comments

Show HN: Awesome J2ME

https://github.com/hstsethi/awesome-j2me
63•catstor•8h ago•47 comments

Show HN: RowboatX – open-source Claude Code for everyday automations

https://github.com/rowboatlabs/rowboat
123•segmenta•2d ago•40 comments

Show HN: OctoDNS, Tools for managing DNS across multiple providers

https://octodns.readthedocs.io/en/latest/
24•gardnr•22h ago•2 comments

Show HN: DNS Benchmark Tool – Compare and monitor resolvers

https://github.com/frankovo/dns-benchmark-tool
50•ovo101•1d ago•27 comments

Show HN: I built a synth for my daughter

https://bitsnpieces.dev/posts/a-synth-for-my-daughter/
1267•random_moonwalk•1w ago•209 comments

Show HN: CTON: JSON-compatible, token-efficient text format for LLM prompts

https://github.com/davidesantangelo/cton
8•daviducolo•11h ago•1 comments

Show HN: Browser-based interactive 3D Three-Body problem simulator

https://trisolarchaos.com/?pr=O_8(0.6)&n=3&s=5.0&so=0.00&im=rk4&dt=1.00e-4&rt=1.0e-6&at=1.0e-8&bs...
239•jgchaos•2d ago•111 comments

Show HN: Wasda – Experience transformer attention as music

https://github.com/farukalpay/wasda
3•kinders•8h ago•0 comments

Show HN: Guts – convert Golang types to TypeScript

https://github.com/coder/guts
101•emyrk•2d ago•30 comments

Show HN: Lamina – A compiler backend that is not LLVM or Cranelift

https://github.com/SkuldNorniern/lamina
3•skuldnorniern•9h ago•0 comments

Show HN: Interactive research papers (a big step up from ArXiv HTML)

https://sciencestack.ai
7•cjlooi•9h ago•5 comments

Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files

https://github.com/kaushiksrini/parqeye
160•kaushiksrini•2d ago•35 comments

Show HN: ESPectre – Motion detection based on Wi-Fi spectre analysis

https://github.com/francescopace/espectre
208•francescopace•3d ago•50 comments

Show HN: Long Courrier – A custom web player for a 1h Barber Beats mix

https://monosky.mateo-siam.com/
2•Mateleo•10h ago•0 comments

Show HN: A subtly obvious e-paper room air monitor

https://www.nicolin-dora.ch/blog/en-epaper-room-air-monitor-part-1/
64•nomarv•2d ago•28 comments

Show HN: Vibe Prolog

https://github.com/nlothian/Vibe-Prolog
27•nl•1d ago•4 comments

Show HN: Marimo VS Code extension – Python notebooks built on LSP and uv

https://github.com/marimo-team/marimo-lsp
58•manzt•1d ago•5 comments

Show HN: Continuous Claude – run Claude Code in a loop

https://github.com/AnandChowdhary/continuous-claude
163•anandchowdhary•5d ago•60 comments

Show HN: Reproducible Dotfiles with Nix Flakes

https://github.com/momeemt/config
2•momeemt•13h ago•0 comments

Show HN: Reversing a Cinema Camera's Peripherals Port

https://3nt3.de/blog/reversing-fs7-comms
47•3nt3•1w ago•2 comments

Show HN: PrinceJS – 19,200 req/s Bun framework in 2.8 kB (built by a 13yo)

https://princejs.vercel.app
150•lilprince1218•2d ago•69 comments

Show HN: Tokenflood – simulate arbitrary loads on instruction-tuned LLMs

https://github.com/twerkmeister/tokenflood
21•twerkmeister•1w ago•0 comments