frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: A 10KiB kernel for cloud apps

https://github.com/ReturnInfinity/BareMetal-Cloud
38•ianseyler•3h ago•4 comments

Show HN: HyTags – HTML as a Programming Language

https://hytags.org
32•lassejansen•1d ago•16 comments

Show HN: Repomance: A Tinder style app for GitHub repo discovery

https://apps.apple.com/us/app/repomance/id6756920720
2•masterpos•17m ago•0 comments

Show HN: Tiny FOSS Compass and Navigation App (<2MB)

https://github.com/CompassMB/MBCompass
106•nativeforks•8h ago•33 comments

Show HN: OSS AI agent that indexes and searches the Epstein files

https://epstein.trynia.ai/
186•jellyotsiro•17h ago•87 comments

Show HN: Sparrow-1 – Audio-native model for human-level turn-taking without ASR

https://www.tavus.io/post/sparrow-1-human-level-conversational-timing-in-real-time-voice
4•code_brian•1h ago•0 comments

Show HN: Nori CLI, a better interface for Claude Code (no flicker)

https://github.com/tilework-tech/nori-cli
15•csressel•4h ago•0 comments

Show HN: Skillshare – Sync skills across AI CLI tools

https://github.com/runkids/skillshare
6•runkids•4h ago•0 comments

Show HN: Grsh – A high-performance shell for FreeBSD written in Rust

https://grimreaper.icu/
20•antomal•1h ago•6 comments

Show HN: 1D-Pong Game at 39C3

https://github.com/ogermer/1d-pong
63•oger•2d ago•12 comments

Show HN: The Tsonic Programming Language

https://tsonic.org
53•jeswin•1d ago•9 comments

Show HN: Interactive Timeline of US Legislation (1975–Present)

https://www.chamberzero.com/
4•itta_e_ta•2h ago•4 comments

Show HN: Webctl – Browser automation for agents based on CLI instead of MCP

https://github.com/cosinusalpha/webctl
4•cosinusalpha•4h ago•1 comments

Show HN: Space Pong

https://pong.priyavkaneria.com/
3•diginova•2h ago•0 comments

Show HN: How NBA teams perform vs. prediction market expectations

3•helloiamvu•3h ago•4 comments

Show HN: Nogic – VS Code extension that visualizes your codebase as a graph

https://marketplace.visualstudio.com/items?itemName=Nogic.nogic
125•davelradindra•1d ago•48 comments

Show HN: Cachekit – High performance caching policies library in Rust

https://github.com/OxidizeLabs/cachekit
43•failsafe•16h ago•7 comments

Show HN: Seapie – a Python debugger where breakpoints drop into a REPL

https://github.com/hirsimaki-markus/seapie
17•markushirsimaki•2d ago•8 comments

Show HN: Cadence Spanish – AI audio lessons to learn Spanish

https://cadencespanish.com/
5•aliclark•4h ago•4 comments

Show HN: An iOS budget app I've been maintaining since 2011

https://primoco.me/en/
153•Priotecs•1d ago•59 comments

Show HN: AsciiSketch a free browser-based ASCII art and diagram editor

https://files.littlebird.com.au/ascii-sketch.html
44•schappim•20h ago•8 comments

Show HN: SnackBase – Open-source, GxP-compliant back end for Python teams

https://snackbase.dev
66•lalitgehani•1d ago•13 comments

Show HN: Self-host Reddit – 2.38B posts, works offline, yours forever

https://github.com/19-84/redd-archiver
264•19-84•1d ago•59 comments

Show HN: Microwave – Native iOS app for videos on ATproto

https://testflight.apple.com/join/cVxV1W3g
27•sinned•1d ago•8 comments

Show HN: Anti for You

https://github.com/da-x/anti-for-you
2•da-x•7h ago•0 comments

Show HN: Ayder – HTTP-native durable event log written in C (curl as client)

https://github.com/A1darbek/ayder
55•Aydarbek•1d ago•28 comments

Show HN: Agent-of-empires: OpenCode and Claude Code session manager

https://github.com/njbrake/agent-of-empires
115•river_otter•2d ago•44 comments

Show HN: AI slop: A todo app built in bash with microservices

https://github.com/andi0b/vibe-todo
4•andix•3h ago•0 comments

Show HN: Simple time zone converter and world clock for everyone

https://www.usetizo.com/
2•yelston•8h ago•0 comments

Show HN: Imago – open-source AI portrait generator with guided creation

https://github.com/tenngoxars/Imago
2•tenngoxars•9h ago•0 comments
Open in hackernews

Show HN: HyTags – HTML as a Programming Language

https://hytags.org
32•lassejansen•1d ago
This is hyTags, a programming language embedded in HTML for building interactive web UIs.

It started as a way to write full-stack web apps in Swift without a separate frontend, but grew into a small language with control flow, functions, and async handling via HTML tags. The result is backend language-agnostic and can be generated from any server that can produce HTML via templates or DSLs.

Comments

scatbot•1h ago
This seems similar to _hyperscript, except it uses custom tags instead of the "_" attribute. I'm not sure which approach is better, but personally, I prefer keeping the same document structure and varying behavior through attributes. Easier to rewrite on the fly. Custom tags can be clearer in some cases, but attributes tend to work better with existing HTML and tooling.
lassejansen•1h ago
The main reason for using tags was for me that they can be generated from a host language and stay readable, even for longer scripts. I'm using Swifts result builders for my projects, which enables autocompletion and partial type safety.
catapart•1h ago
Neat! Looks like a pretty straightforward way to develop.

I'm a little too enamored with web components to give it more consideration/testing, but it looks like it could be great for blue sky/green field projects.

akhil08agrawal•57m ago
Interesting idea. As a product person I'm immediately thinking about security. how does this handle auth, data validation, etc when backend logic is embedded in HTML?

But that said, this could unlock some interesting use cases where security isn't the primary concern. Like few internal tools, prototypes, small side projects where the tradeoff might be worth it.

lassejansen•52m ago
It's only frontend logic. There is a small runtime that is implemented in Javascript interprets html tags. Backend logic needs to be implemented on the server.
velcrovan•49m ago
HTML (and XMLish syntax in general) is LISP syntax (not semantics) in disguise. A tag can be viewed as function application, with the attributes as named arguments and the elements as variadic arguments.

The example from the link's main page is equivalent to:

    (button "Say something")
    (on_click
      (selection-insert-after
        (div "Hello, World ")))
[apparently HN strips all emoji but you get the idea]
lassejansen•46m ago
Exactly, code is data ;)
publicdebates•42m ago
Not sure how homoiconicity is related to this at all. Macros don't seem involved.

But I do think s-expressions are an improvement over HTML in certain scenarios.

That said (talking to OP now), why is the control handler outside the button?

In actual HTML, we have [button onclick="codeToBeEvaled()"]

In this thing, you have [button][onclick [sub-expressions]]

With s-expressions, at least you have some semblance of function calls, which would make control flow operators seem slightly more natural, but this hybrid of semantic and syntactic choice just seems bizarrely limited.

lassejansen•35m ago
For most tags you can also put the event handlers as first children inside the element, but self-closing tags like <input> don't support that. I'm now putting the event handlers always outside (as next siblings) for consistency.
scatbot•19m ago
>But I do think s-expressions are an improvement over HTML in certain scenarios.

I agree. S expressions are a data interchange format. HTML is a markup language. They solve different problems.

S expressions define nested lists of atoms. HTML describes semantic hypertext documents defined by a document tree made of element nodes as subtrees, attribute nodes as subtree metadata, and text nodes. In some scenarios a uniform data structure like s expressions is nicer to work with.

To be honest it boggles my mind that XML was ever used as a universal data format.

dragonwriter•45m ago
> HTML (and XMLish syntax in general) is LISP syntax (not semantics) in disguise

No, its not. If it was, the attribute vs. child element distinction would not exist. HTML (and HTML-inspired XML) syntax is not a trivial alternative to S-expression syntax, it is more complex with additional distinctions.

A simplified subset of (HT|X)ML that uses only elements and no attributes is pretty much directyl equivalent to S-expressions, sure.

SkiFire13•4m ago
I'm not sure I see your point. Yes, you can describe the same meaning/structure with S-expressions and HTML/XML syntax, but that's the complete opposite of having the same syntax, in fact syntax is the difference!
css_apologist•41m ago
first let me say i applaud you for experimenting and doing something unconventional

- thoughts as i was reading this -

ok, so we're programming via an AST vs syntax

I think this is interesting, however there's notable downsides - verbosity, dom bloat & debugging

A potential upside to this is very odd but interesting meta programming capabilities, since the code should be able to inspect & modify itself fairly easily by inspecting the dom

I am inclined to distrust the claim that this reduces complexity as most of the actions are mutation heavy directly to the dom, and the stack based programming is something i struggle to practical examples where it is a significant improvement to mainstream strategies

lassejansen•20m ago
DOM bloat can certainly become a problem when adding lots of code in e.g. table rows. I added functions mainly to be able to move common code into a central place to minimize that problem.

You certainly must get used to the stack based approach. I tried to make it more approachable by making stack lookups type based (automatic search for value with matching type) and by using type-prefixed commands, e.g.

  <request-send url="..."> // returns response
  <response-get-text> // looks up response on the stack and returns string
  <selection-set-text> // looks up string on the stack and writes it as text content to the current DOM element.
antomal•36m ago
This looks very interesting! It reminds me of the approach taken by HTMX or Alpine.js, but with deeper control flow logic. In your opinion, what is the main advantage of hyTags over HTMX for developers managing complex UI states?
lassejansen•30m ago
I think the approach of HTMX is that UI state is primarily managed by delegating DOM updates to the server and then modifying the DOM with the response.

With hyTags one can do a lot of things without server calls and without resorting to javascript (e.g. inserting and deleting new rows, showing a loading indicator, validating input, animations, ...).