frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Marko – A declarative, HTML‑based language that makes building web apps fun

https://markojs.com/
92•ulrischa•2h ago•35 comments

WriterdeckOS

https://writerdeckos.com
48•surprisetalk•2h ago•28 comments

Study identifies weaknesses in how AI systems are evaluated

https://www.oii.ox.ac.uk/news-events/study-identifies-weaknesses-in-how-ai-systems-are-evaluated/
241•pseudolus•7h ago•136 comments

Cloudflare Scrubs Aisuru Botnet from Top Domains List

https://krebsonsecurity.com/2025/11/cloudflare-scrubs-aisuru-botnet-from-top-domains-list/
82•jtbayly•5h ago•25 comments

Avería: The Average Font (2011)

http://iotic.com/averia/
29•JoshTriplett•1h ago•9 comments

An Algebraic Language for the Manipulation of Symbolic Expressions (1958) [pdf]

https://softwarepreservation.computerhistory.org/LISP/MIT/AIM-001.pdf
62•swatson741•6h ago•8 comments

Facebook enables gender discrimination in job ads, European human rights rules

https://www.cnn.com/2025/02/28/tech/facebook-gender-discrimination-europe-ruling-asequals-intl
49•Bender•2h ago•31 comments

My first fifteen compilers (2019)

https://blog.sigplan.org/2019/07/09/my-first-fifteen-compilers/
13•azhenley•1w ago•1 comments

Syntax and Semantics of Programming Languages

https://homepage.cs.uiowa.edu/~slonnegr/plf/Book/
37•nill0•1w ago•2 comments

Near mid-air collision at LAX between American Airlines and ITA [video]

https://www.youtube.com/watch?v=-j76cp7bETw
51•goblin89•2h ago•15 comments

Valdi – A cross-platform UI framework that delivers native performance

https://github.com/Snapchat/Valdi
442•yehiaabdelm•21h ago•176 comments

Why is Zig so cool?

https://nilostolte.github.io/tech/articles/ZigCool.html
466•vitalnodo•22h ago•407 comments

The modern homes hidden inside ancient ruins

https://www.ft.com/content/5f722a2e-71d8-430c-a476-95de2c4ad9a5
39•Stratoscope•6d ago•3 comments

52 Year old data tape could contain Unix history

https://www.theregister.com/2025/11/07/unix_fourth_edition_tape_rediscovered/
114•rbanffy•5h ago•31 comments

Btop: A better modern alternative of htop with a gamified interface

https://github.com/aristocratos/btop
177•vismit2000•6h ago•105 comments

Humans have remote touch 'seventh sense' like sandpipers

https://techxplore.com/news/2025-11-humans-remote-seventh-sandpipers.html
8•wjSgoWPm5bWAhXB•26m ago•0 comments

Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

https://arxiv.org/abs/2511.02743
138•otrack•13h ago•39 comments

Computational Complexity of Air Travel Planning (2003) [pdf]

http://www.ai.mit.edu/courses/6.034f/psets/ps1/airtravel.pdf
53•arnon•4d ago•4 comments

Myna: Monospace typeface designed for symbol-heavy programming languages

https://github.com/sayyadirfanali/Myna
356•birdculture•1d ago•166 comments

Cekura (YC F24) Is Hiring

1•atarus•9h ago

Ticker: Don't die of heart disease

https://myticker.com/
267•colelyman•6h ago•247 comments

Immutable Software Deploys Using ZFS Jails on FreeBSD

https://conradresearch.com/articles/immutable-software-deploy-zfs-jails
155•vermaden•21h ago•42 comments

How did I get here?

https://how-did-i-get-here.net/
299•zachlatta•1d ago•56 comments

My friends and I accidentally faked the Ryzen 7 9700X3D leaks

https://old.reddit.com/r/pcmasterrace/comments/1orc6jl/my_friends_and_i_accidentally_faked_the_ry...
256•djrockstar1•9h ago•61 comments

Why I love OCaml (2023)

https://mccd.space/posts/ocaml-the-worlds-best/
376•art-w•1d ago•266 comments

C++ move semantics from scratch (2022)

https://cbarrete.com/move-from-scratch.html
72•todsacerdoti•5d ago•54 comments

Reverse engineering a neural network's clever solution to binary addition (2023)

https://cprimozic.net/blog/reverse-engineering-a-small-neural-network/
64•Ameo•4d ago•14 comments

Friendly attributes pattern in Ruby

https://brunosutic.com/blog/ruby-friendly-attributes-pattern
86•brunosutic•6d ago•63 comments

Mullvad: Shutting down our search proxy Leta

https://mullvad.net/en/blog/shutting-down-our-search-proxy-leta
185•holysoles•20h ago•119 comments

Cerebras Code now supports GLM 4.6 at 1000 tokens/sec

https://www.cerebras.ai/code
164•nathabonfim59•21h ago•108 comments
Open in hackernews

Marko – A declarative, HTML‑based language that makes building web apps fun

https://markojs.com/
92•ulrischa•2h ago

Comments

shevy-java•2h ago

    <p>Today is ${new Date().toDateString()}</p>
    <p>Random number: ${Math.floor(Math.random() * 100)}</p>
Sorry, I don't like it. I already disliked that immensely in PHP. Not going back to that spaghetti mesh-up.

The intro is also incorrect in my opinion. It writes a "HTML-based language", but this is more a hybrid of HTML and JavaScript. Why is JavaScript not mentioned in the intro?

cyanydeez•2h ago
Don't blame Marko for this type of abomination. This is basically fancy react JSX.

ITS just bizzare people want to parse JavaScript at the same instance they're parsing html.

Also, LLMs are going to destroy any new framework. Someone's gonna need to figure out how to integrate these things into new tools. LLMs suck but it'll be much worse if they freeze innovations cause they're too expensive to chase the new hotness.

Kiro•2h ago
You two are complaining about different things. Note how the parent mentioned PHP as the reference.
jamal-kumar•35m ago
I think the grand takeaway is that people like to complain
whatshisface•2h ago
LLMs can make use of documentation and example code.
cyanydeez•51m ago
Yes. I understand second order context pollution.
croes•35m ago
But because of LLMs there will be less example code
cco•1h ago
How would you prefer to write those examples?
ethmarks•1h ago
Personally, I'd either just put the content in an ID-ed span and have a script to replace the content. Another, perhaps better, way is to use Alpine.JS which excels at this kind of stuff.
ghurtado•1h ago
Either solution sounds more verbose than the example and require writing code in at least one other source file
nine_k•1h ago
But that separation is sometimes the point. A designer tweaking the looks has no chance to break the computation logic, and an engineer tweaking the computation part won't disrupt the design by mistake.

Terseness is good for code golf [1]. I disliked CoffeeScript after writing it for some time: nearly any typo can result in another syntactically correct program which, of course, does not what you wanted the original program to do, or fails the compilation in an unrelated place. A practical language has safety margins, aka some redundancy.

[1]: https://en.wikipedia.org/wiki/Code_golf#Dedicated_golfing_la...

sorrythanks•46m ago
Unless the designer removes the id, or the engineer introduces new output that is not styled.
ethmarks•31m ago
But they're both framework-agnostic.

This snippet works with any framework and any build step.

  <script src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
  <div x-data="{ 
    today: new Date().toDateString(),
    randomNum: Math.floor(Math.random() \* 100)
  }">
    <p>Today is <span x-text="today"></span></p>
    <p>Random number: <span x-text="randomNum"></span></p>
  </div>
I'll concede that Alpine.js is harder to understand and more verbose than Marko's syntax, but in order to use Marko you have to commit to the Marko framework. If you're willing to choose a framework solely for its JS-in-HTML capabilities, there are much better choices (like SvelteKit that handles JS-in-HTML wonderfully).
ffsm8•14m ago
Fwiw, Marko predates svelte quiet significantly.

It was originally created by eBay iirc, back in 2014 or so.

It's syntax was even stranger back then, like writing "h1.myClass my header" to create a <h1 classes=myClass>my header</h1> and similar

ggregoire•1h ago
> I'd either just put the content in an ID-ed span and have a script to replace the content

And so your script is broken when someone else in your team (or maybe even yourself) renames or removes the ID and forgets to search in the whole project if some piece of code depends on this ID. JSX fixed all that mess 10+ years ago.

didibus•1h ago
Separate templating from computing I'd assume.
Lerc•49m ago
Is there any significant difference between that and

    element.innerHTML=`
      <p>Today is ${new Date().toDateString()}</p>
      <p>Random number: ${Math.floor(Math.random() * 100)}</p>
    `
(ideally .setHTML() when it's available)

At that point I think I'd have a skeleton html file that fetches a JS that does it all. I'd take JS with embedded HTML over HTML with embedded JS.

TheCraiggers•14m ago
Isn't it wonderful that we live in a world where both ways can exist together, along with a myriad of other ideas for how to do the exact same thing?
worik•7m ago
No.

But you can write dreadful code in any language

marcelr•41m ago
this comment really proves that people do not consider the information presented to them

marko is not comparable to php

it is much closer to svelte

i used to sympathize with people complaining about js-fatigue, but at some point its a skill issue

librasteve•21m ago

  p “Today is {Date.today}”,
  p “Random number: {(^100).pick}”
Thought I would share this example as written in Raku using https://harcstack.org
croisillon•2h ago
previously:

January 2023, 125 comments - https://news.ycombinator.com/item?id=34591625

August 2017, 150 comments - https://news.ycombinator.com/item?id=15057371

February 2015, 10 comments - https://news.ycombinator.com/item?id=9065447

hyperhello•1h ago
The problem when taking several languages and mixing them together this way is that the result is supposed to have brevity, but it’s actually unreadable. You need slash to mean something grammatical, colon has to say something, you can speak “open brace” in a way that anticipates; @ means “at”. This code looks more like a compression scheme.
gdotdesign•1h ago
I think I managed to combine three languages in one with Mint (https://mint-lang.com/):

1. There is HTML (tags) with, but without interpolation {...} you can put string literals, variables and everything that type checks as HTML children.

2. There is CSS but only in style blocks where you can interpolate any expression you need and put in if and case expressions too.

3. There is the normal Mint code you write the logic in (this would be the JavaScript in other languages).

Here is an example which have all three: https://mint-lang.com/examples/7guis/flight-booker

The challenge was to make it seamless enough that so it doesn't look like that we tried to mash languages up, but to make them form a different language that is consistent and simple at the same time.

moron4hire•14m ago
It's there a way to define routes in a nested, hierarchial fashion, preferably across multiple modules?

For example, with react-router, my root route object array I define by spreading out other route object arrays that I've imported from other modules in my project. And each of those do the same thing, recurring as necessary until I get to the full depth of my route tree.

sorrythanks•50m ago
almost all code looks like nonsense when you're unfamiliar with it
zupa-hu•23m ago
Isn't syntax pretty much just compression? We could write down the AST itself in some generic notation but that would be orders of magnitudes larger, so invent clever tricks to compress it, which we call syntax.

Edit: typo

AbstractH24•1h ago
There’s some joke here about how that’s in contrast to Marketo…
celsius1414•1h ago
There’s a Marko Pollo joke, too, but I’m too chicken to say it.
nielsbot•1h ago
Maybe off topic, but I’d kill for a HAML for TSX or Svelte!

Working with HAML really did make building web app fun IMO. I can’t be the only one!

braebo•1h ago
Svelte already has a Pug preprocessor :)

I used to use it years ago. So much nicer than HTML.

promiseofbeans•1h ago
This is actually quite cool - JS inside HTML, rather than the more React-y HTML inside JS.

As I understand it, Ryan Carniato was a major part of this project, and later went on to lead SolidJS, which goes back to the React style HTML in JS. Has he spoken at all about why he went back to that templating style?

sorrythanks•48m ago
Yes. Mostly because:

• JSX is well understood by a lot of developers • support is already built in to text editors • it is understood by typescript

senfiaj•4m ago
Honestly I don't know... I'm somewhat skeptical about these "next big thing that will fix all your pains in web development". There is so much fragmentation in JS libraries / frameworks. Angular, React, Vue, Svelte, Asto, SolidJS, NextJS, Nuxt, Qwik... The list is so overwhelming. Almost each one claims that it fixes a problem in other framework, and a year later the other framework fixes that issue... I think it's better to stick to a big old player, such as Angular.
nilslindemann•1m ago
[delayed]
afavour•2m ago
Maybe just me but I actually think building web apps is already fun. I’ve got a hot reloading instant dev environment, I can publish to users in an instant… it’s great!

Looking at the Marko examples I feel the same way I do whenever similar stuff gets showcased: it’s trying to focus too hard on brevity and/or cutesiness doesn’t seem like it would scale well.

React and Svelte and the rest can read clunkily at times but they have a clear separation of concerns and I’m glad for that.