← Back to context

Comment by felarof

2 days ago

We don't mind upstreaming. But I don't think Google Chrome/Chromium wants to expose it as an API chrome extensions, if not they would've done this long time ago.

From Google's perspective, extension are meant to be lightweight applications, with restricted access.

I'm not really interested in AI agents for my webbrowser, but it would be pretty cool to see a fork of chromium available that, aside from being de-googled, relaxes all the "restricted access" to make it more fun to modify and customize the way you guys are. Just a thought, may be more of a market for the framework more than the product :)

See Sciter. A very cool, super lightweight alternative to Electron, but unfortunately it seems like a single developer project and I could never get any of the examples to run.

https://sciter.com/

  • I always wonder about what sort of js engine such projects use since at the end of the day imo, it is all just a dance b/w js engine, html and css. Html & Css feels a little solved problem but the problem is of the js engine.

    Sciter uses quickjs and I just checked and its like 35-36x times slower than V8 JIT

    Also another interesting rabbit hole is that I found Duktape in the quickjs benchmarks and I saw https://blogcpp.org/ as one of the projects within Duktape but I can't even see the project on github. We really need some better way of preserving open source stuff I guess

    • > We really need some better way of preserving open source stuff I guess

      Not some rando's blog engine in C++, or other kinds of stupid throw-away code

      Anyway <https://web.archive.org/web/20241122030659/https://github.co...> -> $(fossil clone https://code.rosaelefanten.org/blogcpp) which takes a stunning amount of time but then reports

          Round-trips: 15   Artifacts sent: 0  received: 2751
          Clone done, wire bytes sent: 4127  received: 124543126  remote: 2a03:4000:34:5e::1
          Rebuilding repository meta-data...
            100.0% complete...
          Extra delta compression... none found
          Vacuuming the database...
          project-id: 40a055cb170ae83c46b4ed9bf3b6a60e6e541aa0
          server-id:  cee9059305219c887fd29c677cbafb372252518a
          admin-user: mdaniel (password is "x2hEAaXUDj")
          opening the new ./blogcpp.fossil repository in directory ./blogcpp...
          3rdparty/ConfigParser/ConfigParser.cpp
          ...
          project-name: BlogC++
          repository:   /home/runner/blogcpp.fossil
          project-code: 40a055cb170ae83c46b4ed9bf3b6a60e6e541aa0
          checkout:     fbea390316bc3aace7de0a9ccdba90ecc1949a10 2024-12-17 22:03:16 UTC
          parent:       9e604d205e7922ef1af87952fe1bebef0cbac336 2022-01-15 02:22:33 UTC
          tags:         trunk
          comment:      fuck you github (user: Cthulhux)
          check-ins:    20

    • good callout wrt being slower than JIT. ofc for certain applications it's not a showstopper, ie, if you're not using javascript for your MVC but doing more of a progressive enhancement thing.

      CSS2 is closer to trivial, but CSS3 is practically a 3D game engine with all of its matrix transforms, transitions, animations, variables - not to mention all the different layout schemes (Sciter blogged about introducing display:flex and display:grid two months ago)

      The most interesting part of Sciter to me is that data persistence goes way beyond localStorage (string key: string value) or filesystem API, instead it's DyBase [0][1] behind the scenes, which looks to be a very intriguing style of storing trees of data in the host language's datatype (including whatever classes you define) without mucking about with the leaky abstractions of an ORM.

      [0] https://github.com/c-smile/sciter-js-sdk/blob/main/docs/md/s...

      [1] http://www.garret.ru/dybase.html

  • Yes, we want to do this too! We'll expose much more richer APIs.

    What use-cases do you have in mind? like scraping?