[HN Gopher] Ladybird: A new cross-platform browser project
___________________________________________________________________
Ladybird: A new cross-platform browser project
Author : eatonphil
Score : 1263 points
Date : 2022-09-12 12:26 UTC (1 days ago)
(HTM) web link (awesomekling.github.io)
(TXT) w3m dump (awesomekling.github.io)
| the100rabh wrote:
| We need to have another web browser. I just hope it really solves
| problems than being just another alternative like openoffice.
| More power to you.
| reginaldo wrote:
| The problem with browsers is that they conflate the execution
| environment, which should be as small, understandable,
| analyzable, obviously free of bugs as possible, with the common
| APIs, which as developers we want as rich as possible.
|
| An interesting alternative was embassies project[1], which got
| WebKit running on an understandable computing base. The current-
| day equivalent would be to get WebKit running on top of, say,
| WebAssembly and the Canvas API. That would be immense impactful,
| but isn't as sexy or cool as writing your own browser from
| scratch.
|
| That being said, I applaud the Ladybird initiative. Scratching
| your own itch is the way to go when aiming for maximum enjoyment.
|
| [1] https://www.usenix.org/conference/nsdi13/technical-
| sessions/...
| niutech wrote:
| There is already Webkit.js: http://trevorlinton.github.io/
| everforward wrote:
| I still think the problem underlying the complexity of browsers
| is inherent in using HTML/CSS as the base language.
|
| Most complex languages get interpreted or compiled into a much
| simpler format, and the simpler format gets executed. This lets
| the execution environment be small and understandable, as you
| said.
|
| Using HTML/CSS as primitives means the execution environment
| has to be complicated, because the execution environment itself
| needs to be aware of things like whether certain attributes get
| inherited and how they are inherited.
|
| I have hope for WebAssembly + Canvas, because it's a simpler
| set of primitives. There's a clear boundary between the simple
| execution environment and the tools that translate complex
| instructions into simple instructions.
| beebeepka wrote:
| I've semi-seriously suggested the canvas road twice. I have
| little doubt we're going to make the same mistakes yet again
| but it might end up better overall.
|
| Gonna need vulkan, better tooling, and lots front-end brain
| rewiring. Might happen before the end of the decade
| toastal wrote:
| They also need to handle a lot of backwards compatibility as
| well as gracefully handling syntax errors
| lowercased wrote:
| > as well as gracefully handling syntax errors
|
| Do they? Maybe they don't? Maybe we're at a point where
| people can author html/css, and if there are syntax issues,
| they just 'break' until someone fixes it. 25 years ago,
| maybe we _needed_ some laxness, and perhaps today, we don
| 't?
| toastal wrote:
| I mean I don't entirely disagree, but XHTML was not very
| popular and HTML5 demands some wiggle room like many tags
| can be omitted as per the spec.
| fabrice_d wrote:
| They do, because web content can live for a very long
| time - that's a strength of the web. So today's and
| tomorrow's browsers need to be able to process these 25
| years old documents, because they are still part of the
| web, syntax issues included and no one will come to fix
| them.
| iopq wrote:
| You can just load that content in another browser.
|
| If your browser handles all of the popular sites, people
| will use it. Nobody cares about whether Flash loads
| anymore, do they? Yet there's millions of Flash
| animations and games never ported to another platform
| fabrice_d wrote:
| The web is made of links. It's quite annoying to switch
| browsers when following links.
| dane-pgp wrote:
| I think the idea would be that when you click on a link
| to a 25 year old page, the browser brings up a little
| warning saying "This page is 25 years old and has some
| errors that may stop it displaying correctly. Press the
| Refresh button to re-render it using an older browser
| engine."
|
| In the worst case, the browser would then have to
| download some additional code that contained all the
| support for invalid HTML/CSS code. In the best case, the
| 25 year old page would be served with a header containing
| a cryptographic proof that the site really had been
| around for 25 years, and it wasn't just some newly
| created attack site that was exploiting some weird
| behaviour in old renderers.
| iopq wrote:
| Again, nobody linked to Flash content in a while. You
| might still encounter it in the wild and it won't work. I
| don't hear anyone complaining.
| reginaldo wrote:
| The counter-argument from the embassies point of view
| would be that, since you're running the browser on top of
| the simpler execution environment, you could ship the
| exact version of the browser that works with your
| content. That way, only the execution environment (i.e.
| the simpler APIs) would have to be backwards compatible.
| So content could theoretically live longer, as we'd ship
| the interpreter of the content along with the content.
| poisonborz wrote:
| And then let's throw out all browser extensions and
| accessibility software as webpages become an unapproachable
| unmodifyable <canvas> tag, a true corporate dream. People
| underestimate the importance of webpages being documents. It
| doesn't translate well to all use cases - see apps and games
| - but to throw it out and go for sealed binary formats would
| be a big step back.
| everforward wrote:
| That's a valid concern.
|
| I think there could be middle-ground approaches, we just
| don't have them right now. E.g. React is basically entirely
| interpreted; we could create something like React that used
| a different set of primitives than the DOM. Browser
| extensions could act as middleware between React and those
| new primitives, as a plugin to the execution engine similar
| to how they currently work. Someone smarter than me
| probably has a better idea of how that would be
| implemented, but it seems possible.
|
| A lot of webpages I see aren't even really documents
| anymore. They serve a very basic HTML page and use JS to
| flesh out the rest. It's not all that conceptually
| different from Qt to me, except that there's a standards-
| enforced way to serialize the objects out into text. We
| could create a middle-ground engine that used simple
| primitives and could be serialized out into a text format.
| Qt kind of does that QtCreator, from what I know. I believe
| it creates XML docs that specify the objects to create.
| thealienthing wrote:
| Just curious, is there a strong need out there for alternative
| web browsers? It's seems like there are a lot of choices already
| to Chrome and Firefox: eg Opera, Brave. What's the goal of yet
| another web browser?
| w_for_wumbo wrote:
| Someone could have said the same around media players, there's
| Windows Media Player, Quicktime etc. Thankfully VLC didn't
| listen, and we have a marvel today to thank for it.
| edgyquant wrote:
| Also some would say MPC is a great improvement over VLC even
| though no one really thought they needed one at the time
| takoid wrote:
| Opera, Brave, and most other browsers besides Firefox are based
| on Google's Chromium.
| sanxiyn wrote:
| Safari and Orion are based on WebKit. WebKit and Chromium are
| quite different these days.
| kbenson wrote:
| There's really only Firefox and WebKit derivatives (everything
| else you listed), for the most part. I'm increasingly of the
| opinion that duopolies don't result in good progress, so I
| fully support new entrants in this space, even if I think it's
| unlikely they'll get near the popularity needed to compete at a
| high level.
| KeyBoardG wrote:
| Andreas gets asked these questions weekly (probably daily), and
| answers in his FAQ. Its not to compete, or be a business.
|
| https://awesomekling.github.io/faq/
| markdog12 wrote:
| My favorite part:
|
| > Q: Why bother? You can't make a new browser engine without
| billions of dollars and hundreds of staff.
|
| Sure you can. Don't listen to armchair defeatists who never
| worked on a browser.
| snarfy wrote:
| Honest question, why not contribute to Firefox instead?
| bowsamic wrote:
| Because it's fun and rewarding to write it yourself, and it
| means you have experience and control of it
| Cthulhu_ wrote:
| Armchair defeatist here: Browsers are huge, complicated beasts,
| the standards are a constant moving target, and websites won't
| uphold standards.
|
| I wouldn't be surprised if 80% of the work spent on current
| webbrowsers is spent on maintaining compatiblity and edge
| cases.
| loudmax wrote:
| If the goal is to compete with Chrome/Edge/Safari directly
| then yeah some spunky team of ragtag volunteers isn't going
| to be able to match what the megacorps can bring to the
| table. Even Firefox struggles here.
|
| If the goal is to have something that's usable in limited
| cases for a self-selected set technically competent
| enthusiasts, then this is well within reason and not without
| value.
|
| What I find particularly interesting is that there's an
| intent to support WebAssembly. That may turn out to be overly
| ambitious, but if they succeed there's a lot of potential
| upside to having another WebAssembly engine that's
| independent from the major browsers.
| dmytrish wrote:
| What's ambitious about supporting WebAssembly? It's very
| well-specified and minimalistic compared to almost anything
| in the web space.
| soheil wrote:
| It's insane we let Google run the web and be the literal
| gatekeeper of it. Chrome is literally the gate you use to
| enter the web and its owned by Google. The solution is surely
| to make that monopoly illegal. After all we/government
| constantly blocks mergers that seem much more benign and less
| impactful (see Amazon/iRobot acquisition) just because they
| involve money? This is far worse.
| aembleton wrote:
| > Chrome is literally the gate you use to enter the web and
| its owned by Google.
|
| I don't even have it installed and yet I'm typing this into
| a website.
| soheil wrote:
| Three quarters of the internet uses Chrome.
| divbzero wrote:
| > _Browsers are huge, complicated beasts, the standards are a
| constant moving target, and websites won 't uphold
| standards._
|
| This is all true.
|
| On the other hand, operating systems are huge, complicated
| beasts, hardware compatibility is a constant moving target,
| and manufacturers won't uphold compatibility guarantees.
| [deleted]
| blablabla123 wrote:
| > Armchair defeatist here: Browsers are huge, complicated
| beasts, the standards are a constant moving target, and
| websites won't uphold standards.
|
| I think that's the irony here, the standards are pretty much
| set in stone and just incrementally grow. Some old cruft is
| beyond obsolete though. On the other hand nobody uses most of
| the bleeding edge APIs. But JS (and the part that is actually
| in use) is indeed growing at a solid pace.
| onion2k wrote:
| _I wouldn 't be surprised if 80% of the work spent on current
| webbrowsers is spent on maintaining compatiblity and edge
| cases._
|
| I don't really see anything wrong with a browser that doesn't
| fully support every website and every weird example of HTML
| and CSS that a developer decided to hack together. If a
| browser supports the standards well and does a pretty good
| job of rendering modern websites then I'd happily trade
| failing to render some ancient HTML for a web browser that
| was truly open and free and doesn't send swathes of data
| about me back to some corporation.
|
| Web browsers are compatible with old HTML because we choose
| to make them that way. That _is_ a choice. If the cost of
| having a free and open browser is a requirement to drop some
| backwards compatibility with old HTML then I think that 's
| actually quite a simple choice. After all, if people want to
| view an old website then they can still use Chromium or
| something. It's not like people have to pick a single browser
| and stick with it.
| leidenfrost wrote:
| People focus too much on Google Chrome, and when they read
| "Open Source Browser" they instantly think of competing
| with Chrome.
|
| Google Chrome is a product. But a new browser doesn't have
| to be a product. And doesn't have to compete with Chrome.
|
| Linux as a project wasn't created to compete with other
| Unixes. And it wasn't deemed a failure when it lacked
| features compared to them 20 years ago
| clairity wrote:
| of course linux was created to compete with other unixes.
| it's literally baked into the name. competition
| transcends 'product' as you seem to be using it, which
| seems to be something akin to 'formal market offering'.
| linus meant to create an OS for a segment that he thought
| was underserved (OS hobbyists). it competed from the
| beginning with other OSes for mindshare and usage (but
| not necessarily for end-use). so you're really just
| distinguishing the segment served, not competition (other
| than to say it likely won't be competitive outside its
| niche).
|
| more than that, i don't think this framing does you any
| good with the segment this browser is targeting, as
| developers still want others to recognize their (good)
| work. but that's fine, as there's plenty of time to
| develop the brand (and yes, brand also exists outside of
| being a formal product).
| tannhaeuser wrote:
| HTML isn't the complexity driver and relatively static; CSS
| and its myriad of microsyntaxes, layout models, and
| insufficient specification is, plus JS of course.
| shagie wrote:
| > I don't really see anything wrong with a browser that
| doesn't fully support every website and every weird example
| of HTML and CSS that a developer decided to hack together.
|
| Consider from the perspective of the user. They're using
| chrome and browsing the web - all their favorite sites
| work. They switch to a new browser and some of the sites
| stop working correctly. Is it the fault of the browser? or
| is it the fault of the site?
|
| For most users, if site X works using browser A and breaks
| using browser B - then it is browser B that is at fault.
|
| This is a lesson that Microsoft learned.
| https://www.joelonsoftware.com/2004/06/13/how-microsoft-
| lost... There's no refund involved, but switching back to
| the old browser is certainly possible.
| zibby8 wrote:
| There would need to be a compelling reason to use the
| browser other than it being "different." For instance,
| the user experience you describe is exactly what it's
| like to use Firefox. Many websites don't support Firefox,
| even big ones like Vanguard. And yet, I continue to use
| Firefox when possible because I know uBlock Origin will
| continue to work in the future and I value privacy.
| onion2k wrote:
| _They 're using chrome and browsing the web - all their
| favorite sites work. They switch to a new browser and
| some of the sites stop working correctly._
|
| There are a couple of implicit assumptions here that I
| think should be unpacked;
|
| First, you're assuming that users have favorite websites,
| and that those sites wouldn't work. As I said in my post,
| so long as the browser worked with standards compliant
| modern websites I think that would be fine ... _and that
| would cover 99.9% of user 's favorite websites._ People
| don't carry on using old, unmaintained (or even
| maintained) sites for a particularly long time. I don't
| believe people return to old websites that haven't been
| maintained very much. I don't think many users would even
| notice if their browser stopped supporting things that
| browser developers consider edge cases that eat up dev
| time.
|
| Secondly, you're assuming that users who choose a browser
| like Ladybird wouldn't understand the choice they're
| making. Of course they would. They could still make that
| choice though. The idea of trading out-of-standards
| compatibility for increased privacy is actually really
| appealing to a lot of people. Hell, a lot of people see
| out-of-standards compatibility as a bug rather than a
| feature.
| dmitriid wrote:
| > so long as the browser worked with standards compliant
| modern websites
|
| Define which subset of standards would qualify for
| "standards compliant". Don't forget that quite a few of
| standards (for example, HN's darlings like bluetooth) are
| barely drafts.
| andsoitis wrote:
| > First, you're assuming that users have favorite
| websites, and that those sites wouldn't work. As I said
| in my post, so long as the browser worked with standards
| compliant modern websites I think that would be fine ...
| and that would cover 99.9% of user's favorite websites.
|
| I wonder then why developers _test_ on multiple
| browsers... Is it because website developers code not to
| standards per se, but rather how their top two browsers
| behave?
|
| That being said, I think this is a cool project and since
| the goal is personal satisfaction and usability, there
| isn't the pull to satisfy hundreds of thousands of users.
| bornfreddy wrote:
| > I wonder then why developers test on multiple
| browsers...
|
| Do they still? I find myself using only Firefox and I
| haven't had a Chrome-related bug for a loooong time. I do
| however avoid using latest features and wait until the
| support is good enough.
|
| I agree with GP, seeing a new hobbyist browser enter the
| arena is awesome, I need to check it out. I for one don't
| care if some pages don't display, I can still open them
| in FF. I just hope that corporation doesn't "happen to
| it" too soon...
| shagie wrote:
| There are certainly "favorite" websites. You could use
| that as "sites that I use for professional work and track
| the latest features." Gitlab, Github, Gmail, and so on.
|
| There are also the "Mom's cooking blog" that is running
| an ancient copy of Wordpress and mom still doesn't
| understand that <b><i>This is important</b></i> is not
| formatted correctly. Some browsers are able to handle
| this, but if you browse it with a "this browser only
| follows standard compliant html" you may get the entire
| page in italics or bold.
|
| The article even acknowledges this -
| https://awesomekling.github.io/Ladybird-a-new-cross-
| platform...
|
| > Fidelity of modern websites in Ladybird is steadily
| improving, but you'll often see lots of layout and
| compatibility issues. For example, here's Reddit right
| now:
|
| > (mangled layout)
|
| We could put Reddit in that list of favorite sites that
| need to work. And so, is it the fault of reddit or the
| browser that the page isn't rendering right? As reddit
| works on other browsers, surely its the browser's fault
| and not something janky that reddit is doing that the
| other browsers happen to work with.
|
| And thus my post - if a page works correctly in a
| different browser but incorrectly on Ladybird, to a user
| it is _always_ the browser 's fault.
| astrobe_ wrote:
| > First, you're assuming that users have favorite
| websites, and that those sites wouldn't work.
|
| Both are true almost in my case. Browsers based on older
| Firefox versions such as Palemoon and Seamonkey don't
| work with GitLab and Github - which are not my "favorite"
| websites but rather, are hard to avoid.
|
| > I don't think many users would even notice if their
| browser stopped supporting things that browser developers
| consider edge cases that eat up dev time
|
| That's not the issue. The issue is that some websites use
| the shiny new features - probably through some new shiny
| framework - that older browsers don't support.
|
| And this is a loser's game for browsers done from
| scratch, because by the time they implement one missing
| features, two others have been standardized. That will
| probably kill Firefox too.
| Deukhoofd wrote:
| Serenity and Ladybird aren't written from the perspective
| of the user though. They're written from the perspective
| of the developers, who write functions they'd like, and
| that they'd like to learn more about, or as the Serenity
| website states:
|
| > This is a system by us, for us, based on the things we
| like.
| vesinisa wrote:
| And funnily enough, this is exactly how Linux was born.
| It was literally started as "just a hobby, won't be big
| and professional."[1]
|
| Nowadays it runs in almost every home at least in the
| developed world.
|
| [1]: https://www.cs.cmu.edu/~awb/linux.history.html
| Andrew_nenakhov wrote:
| Linux was _inevitable_ as there was no GNU licensed
| kernel anger there was a need for one. If not Linux,
| something else would have emerged within months.
|
| New browser is not inevitable, as the need for free-ish
| browser is already satisfied.
| voidskull wrote:
| Hurd was in development and it still is I guess. Hurd was
| a predecessor of Linux
| Andrew_nenakhov wrote:
| Hurd stalled precisely because Linux appeared: there was
| an urgent need for a GNU kernel, but there was no urgent
| need for _another_ GNU kernel.
| wpietri wrote:
| This is correct, and it's why most open-source software
| will never have much in the way of users:
|
| > They're written from the perspective of the developers
|
| And I get it. A few years back I had an open-source
| project [1] get users and it was terrible. What had
| previously been a fun technical exercise became a pain in
| the ass that felt a lot like actual work. I was relieved
| when my hardware broke and I had an excuse to archive the
| project.
|
| But that does create a huge gap that mostly gets filled
| by commercial interests.
|
| [1] https://github.com/wpietri/sucks
| stefanve wrote:
| you properly mean the average user. The average user
| would not download this browser. so the user of ladybird
| might want to live with the shortcomings. That being said
| , Firefox still exists and is a very good cross platform
| OSS browser
| lhnz wrote:
| Users often prefer it when sites don't work as the
| developer intended. Users like browsers that strip away
| adverts and that show undecorated content. If you make a
| browser that does this, you stand a chance against a
| browser that complies to the whims of corporations.
| staticautomatic wrote:
| I get that it's a chicken and egg problem but this
| strikes me as, at least preliminarily, being more about
| developers than users in a world where devs often no
| longer even test for compatibility with Firefox.
| leidenfrost wrote:
| Then let that user use Chrome and be happy with it.
|
| If the average user wants to lean to a corporation and
| use its product because on the reliability it offers then
| that's fine. While the privacy concerns are there, I
| don't think it's wrong for a consumer to reach to a
| company to fulfill their needs.
|
| Product mentality can be a problem on FOSS software.
| People forget that all of this started as a project made
| by volunteers because it was fun to them.
| kornhole wrote:
| Much of it is the other way around where the browser
| compatibility drives the development of sites. Everybody
| developing a site needs to test on the major browsers before
| releasing. It may take a while for Ladybird to make the list
| of browsers to be tested before release, but it can get
| there.
| A4ET8a8uTh0 wrote:
| It is true, but it does not change the fact that it is a
| worthwhile effort just to force some level of differentiation
| on the browser scene.
| godshatter wrote:
| I was happy to see them state that influence over their
| browser cannot be bought. Mozilla taking $400 million+ a
| year from Google is the elephant in the room when it comes
| to browser competition. Not to mix metaphors, but this
| would give us a large competitor not beholden to Google,
| the gorilla in the room.
| cfcosta wrote:
| Yes, they are. And even if the project fails (for any
| definition of failure), putting hundreds of people in contact
| with production quality core browser code is worth it.
|
| Also, lightweight browsers have been a dying breed for a
| while, if ladybird ends up as a more modern alternative to
| surf and Dillo, I'm already satisfied.
| rollcat wrote:
| Surf[1] is merely a Webkit wrapper. If you mean NetSurf[2],
| it's actually doing OK in resource constrained
| environments, although it's been a while since a release,
| which is a bit concerning.
|
| [1] https://surf.suckless.org [2] http://www.netsurf-
| browser.org
| cfcosta wrote:
| Seen it way too late to edit it seems, but you are
| correct, I meant NetSurf.
| einpoklum wrote:
| > the Ladybird browser, based on the LibWeb and LibJS engines
| from SerenityOS.
|
| So, the project does _not_ cover rendering web pages and
| tracking the HTML, CSS and JS standards. Those are separate
| projects.
|
| What remains, then? I guess that would be the user interface
| and user experience.
| resoluteteeth wrote:
| > So, the project does _not_ cover rendering web pages and
| tracking the HTML, CSS and JS standards. Those are separate
| projects.
|
| > What remains, then? I guess that would be the user
| interface and user experience.
|
| To be clear it uses a novel rendering engine (libweb) that
| the creators of LadyBird develop, it's just that that
| rendering engine has its own name and exists as a separate
| library.
|
| This is not just another skin around webkit or chromium.
| trashburger wrote:
| They're "separate" projects only in name; Ladybird is under
| the SerenityOS organization on GitHub.
| einpoklum wrote:
| But SerenityOS was started 4 years ago...
| zppln wrote:
| Doesn't Ladybird let you work on LibWeb and LibJS from a
| Linux angle though?
| rhdunn wrote:
| Yes. LibWeb and LibJS were written for the SerenityOS. As
| mentioned in the article, some work was done to make them
| buildable and usable on Linux in a headless environment.
| The Ladybird project is then taking that work and adding
| a Qt GUI on top of it.
| Avshalom wrote:
| One nice thing about html/css/javascript is that a lot of it
| works even when some of it doesn't. It's not an all (or even
| almost all) or nothing proposition.
| Deukhoofd wrote:
| I'm fairly certain Andreas knows, considering he worked on
| Safari before starting Serenity.
| rtpg wrote:
| I would say that HTML5 changed the game a lot. There are
| serious standards now that go into deep detail about how
| something should work, leaving relatively little on the
| margins.
|
| There are still loads of cross compatibility issues and
| performance differences based on certain features of course!
| But I would say the set of "sites that require weirdness" is
| going down, not up, every day
| IshKebab wrote:
| Yeah the argument is just about the definition of "browser".
| Something that can pass Acid3 and render simple sites fine,
| or even complex specific sites? Totally doable.
|
| Something that will work reliably on _every_ site and support
| the gazillions of APIs that Chrome provides? Hell no. Even
| Microsoft threw in the towel on that. Mozilla barely manages
| it.
|
| You can make a browser that people can use if they really
| really want to make a point of using your browser. You can't
| make one that the average person would choose.
| zzo38computer wrote:
| What we need isn't to make one "that the average person
| would choose", since they already have that.
|
| What we do need is to make one that you may choose if you
| want to be able to fully control the system (with fine
| customization, and interaction with other programs
| including native codes in C), and is designed for advanced
| users who have read all of the documents, rather than
| trying to hide things from the user or believe they know
| better than what the end user specified, and also it must
| be one that avoids all of the bad stuff that Google put in.
| IshKebab wrote:
| None of that stuff is about the browser engine. If you
| want all that you'd just use an existing engine, which is
| what people do.
| throw7 wrote:
| Firefox can't even keep up/not tested by developers. We
| sometimes use roll20 to game, but things like blank screens
| make it unusable. I've had to just use chromium and not worry
| about it.
| philote wrote:
| Interesting, could it be plugins/extensions causing the
| issue? I've been using Roll20 with Firefox and with Edge
| for a while without any major issues.
| throw7 wrote:
| Our last game was about 2 weeks ago... two of us hit the
| same issue with the screen not "repainting" and being
| black. No issue with the chrome browsers, so it's easier
| to just switch rather than bog the game down with
| debugging/diagnosis.
|
| It's usually "ok" and I can deal with performance issues;
| but these little niggles just makes you want to not deal
| with it.
| cpeterso wrote:
| Did you have an ad blocker or other privacy add-ons
| installed? Many "website doesn't work in Firefox" issues
| are related to ad blockers.
|
| OTOH, if the page is black and not repainting, that might
| be a graphics issue (in Firefox or the GPU driver).
| Firefox uses the GPU more than Chrome for rendering and
| video decoding, which can be great for performance but
| unfortunately means users can be exposed to GPU driver
| bugs.
| midoridensha wrote:
| >Did you have an ad blocker or other privacy add-ons
| installed?
|
| How can you possibly use any web browser without an ad
| blocker installed?
| redredyupdy wrote:
| It seems like there could be a nice middle man software
| project. Something that translated the non-standard compliant
| code on the web to something more standard compliant, and
| then you could have many different browsers each doing
| different things with the standard html it output. I wonder
| if such a tool is extractable from current projects?
| Disclaimer: I am not a browser scientist.
| devwastaken wrote:
| It's a cool pet project, but not realistic. Even Mozilla can't
| compete. There isn't anything "new" to be done that will give a
| browser an edge over chromium.
|
| And the elephant in the room, regardless of adoption it will
| never be on iphone.
| llllllllllll9 wrote:
| realistic? compete? new? iphone?!????
|
| you are lost.
| prmoustache wrote:
| > Even Mozilla can't compete.
|
| Apparently they can't but they still do. Typing this from a
| mozilla browser.
|
| > realistic
|
| Having looked at the project and followed a few serenityos
| updates videos and if there is one word I would do to
| describe Andreas Kling and his contributors is that they are
| realistic about what they do and do not.
| Ygg2 wrote:
| > Typing this from a mozilla browser.
|
| Same, but I doubt I'll continue to do so in far future,
| unless something major changes. Mozilla seems to be inching
| closer and closer to just another Chromium.
|
| Like Google being forced to remove Chrome integration.
| salmo wrote:
| > Mozilla seems to be inching closer and closer to just
| another Chromium.
|
| Not sure I understand this. I mean Chrome drives the
| feature set and performance, but it's not like Mozilla's
| switching to Blink/v8 AFAIK. Competition is good. Even
| the proliferation of WebKit/Blink browsers is fine to me.
|
| I run into the occasional site that does the block-by-
| user agent of ye olde IE days and an odd niche commercial
| product used by my company that only works in Chrome or
| Safari. And honestly, I hit more of the latter that only
| work in IE and I have to RDP to an old windows server
| host to use them.
|
| I like the Firefox UI better, and it doesn't get as
| sluggish as fill-in-your-chrome on my Mac. Now, that's
| "feel" and not measurable. Safari's a lot snappier, but
| too sparse for me. To me, browsers and OSes are like
| shoes. Pick what's comfortable to you. There's not a
| "right" answer.
|
| Addressing the thread more than you: This project never
| states it's trying to slay the giant. The whole argument
| is weird. I'll play with it once I can without compiling
| (I'm lazier than I used to be). It'll be fun. Probably
| not a daily driver, but interesting.
|
| And who knows? KHTML was a broken (and oft neglected) toy
| and now dominates with world via Blink/WebKit. We may all
| bemoan Ladybird in 20 years.
| Ygg2 wrote:
| > but it's not like Mozilla's switching to Blink/v8 AFAIK
|
| For now. If they are willing to fire their Servo team,
| MDN on a whim. Why not fire your engine team and
| outsource it to Chromium/Blink?
|
| > Pick what's comfortable to you.
|
| That's the issue. I like Firefox, but I have doubts that
| they'll soon replace their shoes with a model that is two
| sizes smaller for me.
|
| > And who knows? KHTML was a broken (and oft neglected)
| toy and now dominates with world via Blink/WebKit. We may
| all bemoan Ladybird in 20 years.
|
| Only after two big corps (Apple and Google) injected huge
| amount of cash and developer man hours on it.
| selfhoster11 wrote:
| That's a problem of internal governance, not technical
| impossibility.
| Ygg2 wrote:
| It's not just internal governance. But it definitely
| didn't help.
|
| Google has been caught sabotaging browser based on user
| agent.
|
| In addition to its strong marketing machine.
| trashburger wrote:
| Well, what is it trying to be "realistic" about? Does the
| announcement mention anything about taking over other
| browsers?
|
| I suggest reading https://justforfunnoreally.dev/ .
| wbear wrote:
| The armchair defeatist appears
| redeeman wrote:
| > Even Mozilla can't compete.
|
| maybe if mozilla tried to compete, instead of all the
| irellevant activities they waste their energy on
| neogodless wrote:
| > realistic
|
| They are _doing it_ though; it 's "real." Perhaps you are
| setting goals for them that they are not themselves setting?
|
| > can't compete
|
| You actually can read about their goals on the linked page,
| though. They are not attempting to "compete" with Chromium.
|
| > iphone
|
| So don't use iPhone, and use a phone that allows you to use
| the browser engine you want to!
| Ygg2 wrote:
| > They are doing it though; it's "real."
|
| It's obviously the grandparent meant it as not a toy
| implementation. As in, non computer literate people can use
| it without complaining about broken sites.
|
| The first 80% will take 10% of time. Now last 20% will take
| 90% of the time.
| bowsamic wrote:
| That's irrelevant as it's not a goal of the project
| Ygg2 wrote:
| Ok, but then why get excited about it? I mean it neat,
| Andreas is a great programmer and can make stuff at
| amazing speed.
|
| There are lots of tiny quasi browsers lying around.
| bowsamic wrote:
| It's exciting because Andreas is very inspiring and
| motivating and also the entire Serenity OS is very
| understandable and usable and basically a nicer version
| of C++. Just a browser would not be interesting, but a
| browser combined with a full exciting monorepo OS is
| jonfw wrote:
| Mozilla competes just fine IMO
|
| - a developer who uses firefox 99% of the time
| devwastaken wrote:
| Mozilla market share and lack of income begs to differ.
| They will be broke in less than 10 years, and either
| dissolve or reskin chromium. Browsers are now mobile tools,
| that's where the users and money is.
| [deleted]
| philippejara wrote:
| Even if we assume that is true, mozilla has already a
| mobile version that not only works very well but allows
| for things that the mobile chrome doesn't, the idea that
| a reskinned chromium would work better than firefox
| itself is...weird. There are two relevant phone OS's and
| they're owned by google and apple, both companies have
| their own browsers, firefox will never get wide default
| usage on phones regardless of the quality of their mobile
| browser, which I already believe to be extremely
| competitive.
|
| There is no winning going down this road for Mozilla
| other than maybe going the firefox phone route, and we
| all saw how that went.
| rvz wrote:
| Or maybe the truth in this is Firefox is a sinking ship
| and Mozilla is kept on life support as they are unable to
| make money outside of Google (a direct competitor) who is
| eating their lunch.
|
| I'm afraid there is no route for sustainability for
| Mozilla at this point.
| squarefoot wrote:
| Exactly. This isn't a commercial product that must be shipped
| yesterday because of competition and not to anger investors;
| just go ahead and do things, the journey is a big part of the
| reward. The guy is amazing! Should we have some day the analog
| of the Nobel prize for software development that benefits
| people, he should be among the first 10 to receive it.
| hiccuphippo wrote:
| Look at the Turing award, it is known as the "Nobel of
| computing."
| chubot wrote:
| The ACM Turing Award is for computer science, not building
| software. The ACM Software System award is more relevant
| here.
|
| https://awards.acm.org/software-system/award-winners
|
| For example, Richard Stallman (GNU) and Chris Lattner
| (LLVM) have both won the software system award, but it
| seems unlikely for them to be considered for a Turing
| award.
| happycube wrote:
| Webkit and Blink trace their roots back to KDE 2.0, afterall.
|
| The web was a bit simpler back then, but still...
| nottorp wrote:
| Too many people forget WebKit was KHTML initially... no,
| Apple didn't start it.
| bobajeff wrote:
| This is encouraging because I too plan to make my own browser
| engine.
| userbinator wrote:
| As someone who has been and still is working on one of my own
| for many years now (and at this point it's far even from his
| efforts), I think having the time to do it is the biggest
| challenge.
| bobajeff wrote:
| Yes. With me it's motivation and energy. I'm not forcing it
| though. This is for me and it's currently solo project so I
| don't feel pressure to ever get it off and complete it.
| It's still worth it because I really enjoy doing it.
| niutech wrote:
| Maybe you could continue developing Kosmonaut?
| https://github.com/twilco/kosmonaut
| tambourine_man wrote:
| Came here to post that exact quote. Truly inspirational
| pipeline_peak wrote:
| You can make "a browser", but it's impossible to make a modern
| one that supports all sites without those human resources. Even
| Fabrice Bellard said it's too difficult.
|
| I know it isn't a pretty thing to hear, but someone in this
| comment section has to say it.
| liotier wrote:
| > it's impossible to make a modern one that supports all
| sites without those human resources.
|
| Then let's not - death to irregular HTML and let the era of
| lean browsers begin !
|
| Yes, I know, Martian Headsets
| (https://www.joelonsoftware.com/2008/03/17/martian-headsets/)
| - but considering how much of a contemporary web browser is
| about supporting irregular markup and other grandfathered
| hacks, deliberately scoping them out is an exciting approach
| to a possible non-RFC793 compliant future. Won't fly with
| mass market, but worth exploring by people who don't care
| about the mass market - and the marketing will come later,
| once someone with no money and a device to ship figures out
| how fast such browser can be with ridiculously low resources
| !
| wpietri wrote:
| For sure. There's also a big question of what "support"
| means.
|
| If rendering is usable but not pixel-perfect, then maybe
| that's fine. Especially when what's being rendered is in
| categories like "visual fluff" and "needed for
| advertising".
| [deleted]
| pipeline_peak wrote:
| As much as I love personal projects, if you want something
| to survive it needs industry support, that's how Linux and
| Python are still going.
|
| Who's going to support a browser compatible with stuff from
| 2011? There are companies like Ekioh that make niche
| solutions for embedded stuff, but there's nothing open
| source.
| robryan wrote:
| The specs are pretty good though in that most of the handling
| of mangled HTML is actually defined in the spec. So while the
| specs are enormous, simply implementing exactly what they say
| to implement can get you most of the way there.
| senko wrote:
| > You can make "a browser", but it's impossible to make a
| modern one that supports all sites
|
| So what? Interested people can have multiple browsers
| installed.
|
| Not even Firefox is supported by all sites, in which case I
| dust off Chromium I keep installed for just such situations.
| [deleted]
| hinkley wrote:
| I mean, there is a degree of regulatory capture that goes with
| standards bodies. The big boys keep making the ladder taller
| and that ultimately makes it harder for new people to join
| because they don't follow the standard.
|
| I am still sad that xhtml-basic failed, as it was an attempt to
| create a legacy free spec that might be feasible on embedded
| devices and phones. It got some adoption and then the iPhone
| ran full safari and that was the end of that.
| justapassenger wrote:
| I've spent few years trying to build my own browser engine ~15
| years ago, when they were much much simpler.
|
| You cannot make a useable, modern engine without such huge
| investments.
|
| But it's a cool hobby project.
| leidenfrost wrote:
| My thoughts exactly. If Linux could, I don't see why a new
| browser can't.
|
| If we start slowly, focus not on delivering a working product
| ASAP but a nice codebase that's accessible for other developers
| to read, carefully split modules so each part of the browser is
| a mini project by itself, with clearly defined business logic,
| outward connections (GUI, APIs, Drivers, etc), it can be done.
|
| Yes, it will be a lot of work. But with a tidy codebase and a
| welcoming community (at least for a programmer) that "a lot of
| work" will instead become a playground to hack whatever
| component they desire.
|
| The problem is that people don't want another Linux-like hobby
| project, they want another Firefox
| ly3xqhl8g9 wrote:
| If you want to build another Chromium you need billions,
| since that's how Chromium was built. But maybe you don't even
| need to build another Chromium.
|
| The enduser couldn't care less what if-else nightmare logic
| you ran in your "application engine" in order to reach the
| current framebuffer, they care only about the framebuffer.
| Following this logic, that tidy codebase should perhaps be
| also tiny: in the extreme case, just thinking on a whim right
| now, it should be comprised of only one "module": a stable
| diffusion-like algorithm which ingests the HTML/CSS/JS
| specification documents and the requested website response
| and "simply" outputs the adequate framebuffer, with which the
| enduser interacts accordingly. This kind of approach probably
| reduces the cost from billions to only a few millions for the
| GPUs training time. Sort of a "generative browser", a
| "genser", if you will.
| leidenfrost wrote:
| No offense, but I think that's the problem with our
| approach to browsers. People want the shortest route to
| deliver an open source chrome that's not chrome. And Chrome
| won. That's it. Even Firefox, an amazing feat of
| engineering by itself, couldn't even grasp the userbase
| that Chrome has.
|
| The if-else nightmare logic it's exactly what drives
| developers away and a surefire way to kill a project before
| it's even born.
|
| Since the success of Ubuntu as a distro, people started to
| think of the FOSS ecosystem as a competitor to commercial
| software but _gratis_. And IMHO that 's a wrong approach to
| Open Source.
|
| We should go back to the roots, forget about competing,
| focus on what's the best not for the end users but on
| what's fun for the FOSS developers, and bring back the
| hobby on open source projects. Maybe someday, this project
| will become huge. Maybe not. Dunno.
| Fnoord wrote:
| Firefox was more popular before Chrome existed. It was
| winning ground from MSIE. Chrome ate marketshare from
| both, and Safari took the mobile share (Mozilla Mobile /
| Fennec, while in development before release of iPhone
| never got popular).
| bornfreddy wrote:
| This. And I just hope that the license doesn't kill this
| project - there is a reason why Linux (GPL) is still here
| while Konqueror/KHTML (MIT) is nowhere to be seen, or
| worse, was (ab)used by Google to get us to this mess.
| badsectoracula wrote:
| KHTML is LGPL not MIT, as is WebKit (which was made by
| Apple, not Google - Google forked WebKit to make Blink,
| also LGPL).
| bornfreddy wrote:
| Thank you, it is LGPL - I remembered wrong. No difference
| though; Blink is open source, but Chrome is not.
| bla3 wrote:
| Almost all of Chrome is open source. You're confusing it
| with Safari, where the engine is open source but the
| browser UI isn't.
| bornfreddy wrote:
| Almost. There is no confusion, rest assured. They are
| both proprietary, but one of them likes to act as if it
| was open source (see also: Android), and clearly it hides
| well.
| bla3 wrote:
| Android as far as I know uses a source-drop model. For
| both WebKit and Chromium, all code reviews are as far as
| I know done publicly.
| bornfreddy wrote:
| AOSP is open source, but Android itself is far from it -
| just ask Huawei. More and more code is in proprietary
| bits of Google code. And Chromium is not Chrome, most
| people use Chrome builds which are proprietary.
| leppr wrote:
| It depends what we're after. Almost all of the code in
| LoC percent terms might be open-source, which helps
| people who want to launch derivative browsers or learn
| from the code. But on the other hand, almost all of the
| Chrome instances running today are proprietary builds
| with mystery special sauce added (I'm guessing desktop
| Linux users are the only significant userbase to run
| vanilla Chromium), which doesn't help us on privacy,
| neutrality, etc...
| ly3xqhl8g9 wrote:
| Sure, I was merely thinking out loud (bad move it seems
| from the children comments) how to solve the "need
| billions, got maybe millions" issue, and since I can't
| get stable diffusion out of my mind, as everyone
| recently, I just saw it as a possible light at the end of
| the tunnel: why not let the machine implement the
| specification.
|
| I am all for going back at the roots, but at the root of
| all the roots is the enduser: the machine must do
| something useful, otherwise it's a niche postmodernist
| art contraption (not that there's anything wrong with
| that).
| leidenfrost wrote:
| I think the "if-else nightmare logic" caused some non-
| friendly answers over there but I get your idea.
|
| I don't entirely agree with the end user being the root
| of all, at least in FOSS. While they shouldn't be
| alienated, the focus should be on having a good approach
| to the project, one that is friendly with the idea of
| having to code after a full time job, like most open
| source developers do.
|
| Keep in mind that this isn't a job, nobody will fire you
| and most complains by end users can be ignored with no
| consequences. If the project is not fun and engaging,
| then what's the incentive to keep going?
| ly3xqhl8g9 wrote:
| My point was that a machine is always intended to make
| some useful work, and even as a sole developer of a
| private project, that project still has one enduser, the
| developer itself, since the existence of the project is
| to achieve meaningful computation one way or another,
| even if that computation is performed only in the test
| suite, hence the enduser as root. However, as a project
| organizer, sure, you want to strive for welcoming others,
| making it easy to embark, 1-cli command to setup,
| interesting to engage and persevere in development, and
| so forth.
| Qualadore wrote:
| > We should go back to the roots, forget about competing,
| focus on what's the best not for the end users but on
| what's fun for the FOSS developers, and bring back the
| hobby on open source projects.
|
| I prefer Blender's approach of heavily prioritizing users
| over developers [0]. It's been a huge success.
|
| [0] https://youtu.be/qJEWOTZnFeg?t=1612
| arboles wrote:
| trashburger wrote:
| > If you want to build another Chromium
|
| I don't want to build another Chromium. I want to build a
| web browser. I don't think every browser is required to be
| like or support as many websites as Chromium does. Note
| that competing with the popular browsers of today has never
| been stated as one of Ladybird's goals.
| MuffinFlavored wrote:
| > I want to build a web browser.
|
| Mild nitpick but "web browser" and "rendering engine" and
| "JavaScript" are different.
|
| Anybody can take WebKit and do some cool stuff on top in
| the UI and call it a "web browser".
|
| At the end of the day, without patching to the HTML/CSS
| rendering engine, it's going to perform like every other
| WebKit based browser, right?
|
| https://en.wikipedia.org/wiki/Comparison_of_browser_engin
| es
|
| I know Chromium uses Blink and not WebKit now.
|
| Looks like Ladybird is based on
| https://en.wikipedia.org/wiki/SerenityOS "LibWeb"
|
| That's all just rendering. You need to hook a JavaScript
| engine up to the rendering engine as well (with glue to
| the DOM from what I know?)
|
| Chromium is Blink + V8, right?
|
| Does Ladybird SerenityOS Libweb also do JavaScript?
|
| > Browser with JavaScript, WebAssembly, and more (check
| the spec compliance for JS, CSS, and WASM)
|
| It does. https://github.com/SerenityOS/serenity https://g
| ithub.com/SerenityOS/serenity/tree/master/Userland/...
| trashburger wrote:
| Ladybird, as part of the larger SerenityOS project, is
| building the browser UI, layout engine and JavaScript
| engine all on its own. That's what I referred to when I
| meant "web browser".
| aaaaaaaaata wrote:
| "Listen man, that's great and all, but all _I_ wanna know
| is, how slow are you gonna be with patching them there
| vulns?! "
| forbiddenvoid wrote:
| I would argue that rather than 'supporting many websites'
| Chromium has actually warped web development around its
| own goals. This is one of the effects that really turns
| me off of it. Google has pushed to make Chrome the OS of
| the internet.
| munificent wrote:
| _> If you want to build another Chromium you need billions,
| since that 's how Chromium was built._
|
| This is akin to saying that if you want visit the US from
| Europe you must built a wooden tall ship, secure a crew of
| sailors, pack several barrels of limes, and spend weeks
| sailing across the ocean.
|
| That's how they got there _the first time_ but the choices
| they made then were determined more by the information they
| had at the time (or lack thereof) and the technology they
| had (or lack thereof).
|
| _Re_ -implementing a browser, starting today, is a
| fundamentally different process from building one starting
| over a decade ago while the web was constantly evolving.
| ly3xqhl8g9 wrote:
| Hence the second sentence "[b]ut maybe you don't even
| need to build another Chromium." and then the second
| paragraph "cost-reducing" billions to millions day-
| dreaming of a specification-based pixel generator.
|
| Of course, the n-th time is cheaper, easier, faster, case
| in point: I implemented 'deon', a notation format for
| structured data [1], using your amazing "Crafting
| Interpreters" for which I paid nothing since I was
| reading the web version as you were writing. Never had
| the chance to say thank you, somewhere in my drafts there
| is an email of appreciation: reading your book and
| applying it chapter by chapter, crafting a final, useful
| artifact, has been a beautiful experience, thank you very
| much, for all your writing, since I am a longtime reader
| of your technical and otherwise texts.
|
| [1] https://github.com/plurid/deon
| munificent wrote:
| _> Hence the second sentence "[b]ut maybe you don't even
| need to build another Chromium."_
|
| Sorry, yes. I didn't intent to disagree with your entire
| comment, but just remark on the first sentence of it.
|
| I'm glad you enjoyed the book! :D
| sph wrote:
| > If you want to build another Chromium you need billions,
| since that's how Chromium was built.
|
| Reminds me of: "According to all known laws of aviation,
| there is no way that a bee should be able to fly. Its wings
| are too small to get its fat little body off the ground.
| But the bee doesn't know that, so it flies anyway."
|
| I guess Kling & co. didn't get the memo :)
| TheKarateKid wrote:
| > _If you want to build another Chromium you need billions,
| since that 's how Chromium was built._
|
| Chromium isn't successful because of the billions thrown at
| it. It's successful because it was significantly better
| than anything else during its rise:
|
| It was significantly faster than IE and FF. Much better
| memory management and crash handling via separate
| processes. Strict adherence to web standards. Seamless
| auto-updates that required no user intervention - ever. No
| admin privileges needed for updates. Clean UI that stays
| out of your way. Top-tier developer tools built-in. Very
| secure. Has there ever been a widespread instance where
| users were infected with malware from a Chrome exploit? I
| haven't heard of one yet.
|
| Any competitor to Chromium needs to be significantly better
| than it for genuine reasons. Unfortunately, "not Google"
| and "privacy" aren't going to cut it for most average users
| to switch over. Unlike Meta, Google's reputation isn't in
| the trash so people still trust them.
| frenchy wrote:
| > Chromium isn't successful because of the billions
| thrown at it. It's successful because it was
| significantly better than anything else during its rise
|
| I think you're dramatically underestimating the
| importance that advertising and bundling had in the rise
| of Chrome. Every non-techie I've talked to about this
| basically uses Chrome because Google told them it was the
| best, and Google is the first internet page they go to
| whenever they go to the internet.
| TheKarateKid wrote:
| I wouldn't say it's the advertising and bundling as much
| as other factors I didn't mention as well. For example,
| Chromebooks in schools drew a lot of people to use Chrome
| and its ecosystem. Google Apps for Workplace/Education as
| well.
|
| We've seen Microsoft throw money and bundling with IE and
| Edge, and it still hasn't done much. Even with being able
| to bundle Edge as the OS default - the biggest advantage
| anyone could ask for.
| Springtime wrote:
| Google pushed Chrome hard for years on its sites, it's
| true. It used to be suggested at the footer of every
| Youtube results page ~10 years ago, be suggested at the
| top when you visited Google search, Gmail, Translate,
| etc. It'd pester Firefox users by saying it's better and
| ironically even users using Chromium forks which it's
| based upon.
|
| IIRC some Firefox devs also accused them of tweaking
| sites like Youtube in particular ways that only affected
| competing browsers and made performance worse
| comparatively.
| beagle3 wrote:
| IE 3 and 4 compared to Netscape navigator in 1998 were
| also superior and (relatively) bug free. It didn't make a
| dent.
|
| Then Microsoft bundled IE4, and killed Netscape (it took
| a while, but the unstoppable momentum was built with
| bundling/embedding).
|
| Chrome is "bundled" with Google. Every Google search
| recommends it, and everyone uses Google. Same for YouTube
| which to this day works better and faster on Chrome.
| Android (80% user base at the time it happened) also
| pushed Chrome.
|
| Chrome wouldn't have become popular if it wasn't good.
| But the market dominance did not come from being good -
| it was just a necessary condition for market dominance in
| a market already dominated by incumbents.
| agumonkey wrote:
| Google is not your is, and a vast majority of users don't
| see Chrome add nor would know what to make of it. Many
| people still use edge.
| favourable wrote:
| > Has there ever been a widespread instance where users
| were infected with malware from a Chrome exploit? I
| haven't heard of one yet.
|
| Maybe not widespread attacks, but the Chrome team
| regularly see 0days being actively exploited in the wild,
| I imagine as rare and isolated incidents instead of mass
| pwning billions of users. For some exploits to work you
| have to visit a carefully crafted page that has the
| payload in it. And that's not easy to do at scale. You'd
| have to cajole millions (billions?) of people into
| navigating to a specific URL. Also I imagine you don't
| hear about these exploits because the actors would have
| good op-sec and keep all their data gathering secret.
| TheKarateKid wrote:
| Of course. But my point is that the old days where
| visiting a very reputable website and being infected with
| a drive-by exploit delivered via an ad seem to finally be
| over.
| rvz wrote:
| > If you want to build another Chromium you need billions,
| since that's how Chromium was built.
|
| Not even Google started from scratch. They started from
| WebKit and used their billions to overhaul, maintain and
| change everything from the engine to the renderer.
|
| > But maybe you don't even need to build another Chromium.
|
| That's what Servo said years ago. I don't see the progress
| or hype around that anymore.
|
| Maybe Ladybird is different, but overall I'm very
| skeptical; but an alternative browser that is not Firefox,
| Chrome or Safari needs a high multi-person and project
| contribution for it to work.
| thephyber wrote:
| > That's what Servo said years ago. I don't see the
| progress or hype around that anymore.
|
| The Mozilla team didn't intend Servo to be a fully
| functional new browser. The project was amazing as a
| Rust-only implementation of the basics of a browser. But
| ultimately, the utility of Servo was that it served as a
| place to rewrite modules into Rust for use in Firefox.
|
| Incidentally, there were some good talks by the Firefox
| team about how they chose to select which modules to
| rewrite in Rust (since a complete rewrite with feature
| parity is prohibitively expensive).
| azakai wrote:
| > The Mozilla team didn't intend Servo to be a fully
| functional new browser.
|
| This is not accurate. Some parts of Mozilla thought that
| way, other parts didn't. And thoughts changed over time.
| For years Servo was officially an experiment, with many
| possible futures.
|
| Had it succeeded in rendering the modern Web well enough,
| I think it could have become a fully functional new
| browser. Sadly, that didn't happen.
|
| (source: I was at Mozilla at the time, and adjacent to
| the Servo people, who I talked to a lot)
| JBits wrote:
| Have all innovative parts of Servo been incorporated into
| Firefox now? Or are there some modern GPU based
| implementations or something like that which give it the
| potential to be faster than Firefox?
| masklinn wrote:
| > Not even Google started from scratch. They started from
| WebKit and used their billions to overhaul
|
| And WebKit didn't start from scratch either, it started
| from khtml.
|
| A few years ago there used to be 4 active browser
| lineages, now there are just 2.
| Andrew_nenakhov wrote:
| It's a pity Opera just died. Something something patents
| was given as a reason they didn't publish source code
| under some Free license
| a-user-you-like wrote:
| He's explicitly refuting that you need billions. Just
| because they did it that way doesn't mean the next
| browser/chromium has to be that way.
| sterlind wrote:
| _> a stable diffusion-like algorithm which ingests the HTML
| /CSS/JS specification documents and the requested website
| response and "simply" outputs the adequate framebuffer_
|
| haa, that's a fun idea! setting aside efficiency, though,
| neural networks aren't usually Turing-complete, so
| arbitrary JS isn't going to work. but, I could imagine
| building a very strict, minimalist browser engine (think
| XHTML and Scheme rather than HTML and JS), and learning a
| transformation between the two.
|
| and for perf to be attainable, rather than an NN you could
| learn a bunch of syntax transformation rules between the
| two.
| ly3xqhl8g9 wrote:
| Precisely, fun is the operative word. As I was writing I
| was thinking that perhaps you would still need to run
| client-side non-layout JS, however, "attention is all you
| need": it seems that there are some architectures for
| Turing complete neural networks [1].
|
| I wouldn't worry about performance: Nvidia breaks world
| records with H100 [2], Intel is going for 6 GHz
| processors [3], for performance you just have to be
| patient.
|
| [1] 2019, Jorge Perez et. al, On the Turing Completeness
| of Modern Neural Network Architectures,
| https://arxiv.org/pdf/1901.03429.pdf
|
| [2] https://blogs.nvidia.com/blog/2022/09/08/hopper-
| mlperf-infer...
|
| [3] https://www.tomshardware.com/news/intel-teases-8-ghz-
| raptor-...
| samatman wrote:
| The neural network architectures in use are all Turing
| complete, it's just that halting is a precondition of
| meeting their reward function.
|
| It would be interesting to see if a search engine's worth
| of raw data, and enough training on Chrome's output,
| could build a JS interpreter. I'm skeptical but don't see
| why not in principle.
| Fnoord wrote:
| KHTML / Konqueror is the foundation of Blink / V8 /
| Chromium. It wasn't build in one day by Google. They forked
| an existing project, utilizing (L)GPL. Gnome never had
| their own browser engine which was build from the ground
| up. Mozilla Firefox (or Phoenix/Firebird) was Gtk+ back in
| the days, Konqueror Qt. Later on Gnome got a native browser
| but it was some silly fork anyway. Chrome benefits from the
| network effect, integration with other popular Google
| products such as Google search, Gmail, YouTube.
| Melatonic wrote:
| Love it. Definitely following!
| iLoveOncall wrote:
| > If Linux could, I don't see why a new browser can't.
|
| The comparison doesn't make sense.
|
| Linux was not released in 2022, competing against 2022's
| Windows, it was released in 1991, competing with the
| technology at the time, and has since evolved and grew
| progressively, as the competition evolved and grew.
|
| Releasing a new browser in 2022, competing against 2022's
| Chrome and Firefox, is a way bigger task (not that it's their
| goal).
| pessimizer wrote:
| > competing with the technology at the time
|
| The competition at the time was also cutting edge at the
| time, the result of billions of dollars of investment over
| decades, and Linux was nothing. There's no reason that your
| argument couldn't have been made in 1991. Why,
| specifically, would it have been a bad argument in 1991,
| since we now know it would have been?
| iLoveOncall wrote:
| > The competition at the time was also cutting edge at
| the time
|
| I don't deny that, but just the feature gap was a lot
| less compared to what it is now.
|
| We're talking about a time where video games were made by
| teams of 5 people, not 500.
|
| If the cutting edge technology is using a rock on a stick
| and you're using a rock, it's easier to catch up than if
| you're using a rock and they already have tree cutters
| working on nuclear energy.
| pessimizer wrote:
| Rocks and sticks are things that people find on the
| ground. Computing and operating system design was in 1991
| a deep science/craft/industry that had been developed and
| implemented over many decades by thousands of people
| employing billions of dollars worth of resources.
|
| Related: are you trying to make an argument that a small
| team or a single person shouldn't try to write a video
| game in 2022?
| sterlind wrote:
| I think their goal is to make a browser as usable as
| SerenityOS itself - that is, not for everything, not for
| the long tail, but for a big enough chunk of things to be
| fun to drive and hack on.
| frutiger wrote:
| > If we start slowly, focus not on delivering a working
| product ASAP but a nice codebase that's accessible for other
| developers to read, carefully split modules so each part of
| the browser is a mini project by itself, with clearly defined
| business logic, outward connections (GUI, APIs, Drivers,
| etc), it can be done.
|
| My understanding is that this is exactly the opposite of how
| Linux was started. It started off as a barely working product
| on 386 only and went from there.
| leidenfrost wrote:
| That's what I said.
|
| It was a barely working product, but it was accessible
| enough to other developers to develop on it and extend it.
| svnpenn wrote:
| > The problem is that people don't want another Linux-like
| hobby project, they want another Firefox
|
| I don't want that at all. Firefox lost their spine long ago,
| and at this point they aren't a Chrome clone, but its pretty
| close.
| FlyingSnake wrote:
| Your comment made me go and read the article and the history
| behind it all, which was a fun read. To the naysayers, we're
| HackerNews FFS, if we don't encourage moonshots, who else will?
| soheil wrote:
| You should quote the second line two. It makes it sound like
| that's something you're adding and the author disagrees with
| your sentiment.
| userbinator wrote:
| Given that he's already written an entire OS, I don't think he's
| being too ambitious. It already passes Acid3, which is more than
| can be said for Dillo and NetSurf, the two other prominent
| "alternative browser" projects. Those aren't even capable of
| passing Acid2.
|
| _The Ladybird browser came to life on July 4th_
|
| Coincidence or not, that's a great date.
| AlecSchueler wrote:
| Came to Hacker News expecting the top comment to be a critical
| one outlining the inherent problems with this project and why
| it was doomed to failure, so this whole thread has made for
| quite pleasant and exciting reading! Thank you!
|
| Yes, I am aware also that HN has blindspots, eg with Show HN
| Dropbox
| [deleted]
| sph wrote:
| July 4th is only celebrated in the US of A. The author is
| Swedish.
| malshe wrote:
| The whole world celebrates 4th July thanks to Jeff Goldblum's
| virus and Will Smith's flying skills /s
| sb057 wrote:
| >July 4th is only celebrated in the US of A.
|
| Not entirely!
|
| https://en.wikipedia.org/wiki/Rebild_Festival
| avgcorrection wrote:
| I tried to find some July 4th where something Swedish
| happened:
|
| > 1708 Battle of Holowczyn: Swedish King Charles XII defeats
| superior Russian force in surprising vctory
|
| That must have been it.
| int_19h wrote:
| Given how that campaign ended for Charles, I hope not!
| SargeZT wrote:
| I'm still living in 1708 Sweden, don't spoil anything for
| me!
| osigurdson wrote:
| July 4th matters, even if you are not American. It represents
| the first non-imperialist great power.
|
| I'm not American by the way.
| cercatrova wrote:
| First in all of history? I highly doubt that.
|
| Relatedly, I find that with regards to history, most people
| have quite a large recency bias. If I ask someone who the
| greatest actors of all time are, at least half will be
| within the last several years. Same with this question, the
| first non imperialist great power is likely some random
| Chinese or Mesopotamian or African kingdom.
| buildartefact wrote:
| "Non-imperialist"? What?
| beebeepka wrote:
| Non-imperialist at the time maybe?
| irrational wrote:
| Surely some people have birthdays, anniversaries, etc. on
| July 4th outside the USA.
| pessimizer wrote:
| That must be why it's a coincidence, then, because it's a
| date in the year that surely some people must have
| birthdays, anniversaries, etc. on. I didn't think that was
| unusual for dates, though.
| hulitu wrote:
| All european US vasals are at least very happy to remember
| this day.
| jonathankoren wrote:
| July 4th occurs worldwide.
| markovbot wrote:
| which is probably why the person you're replying to didn't
| say "July 4th only occurs in the US of A" but instead said
| "July 4th is only celebrated in the US of A"
| hh3k0 wrote:
| You'd be hard-pressed to find it occuring in Iran.
| bravoetch wrote:
| Do they just skip from the 3rd to the 5th in Iran and
| have some kind of un-leap year? This is news to me. I
| thought the calendar was the same all over the world.
| nkozyra wrote:
| Jokes aside, the calendar is in no way the same all over
| the world.
| Someone wrote:
| They don't have July. See
| https://en.wikipedia.org/wiki/Solar_Hijri_calendar.
|
| https://en.m.wikipedia.org/wiki/Tir_(month)#Observances:
|
| _"Independence Day (United States) - 14 or 15 Tir"_
| andrewmcwatters wrote:
| Acid tests are not strict standards test suites. You should not
| be looking to adhere to them.
| bastawhiz wrote:
| No, but they're good signals for the capabilities of a
| browser engine. Passing Acid3 means you've got a browser that
| would have been pretty damn good in 2010 or so. It's a good
| mark of progress for any _three month old_ browser engine.
| asddubs wrote:
| two years and 3 months
| coldtea wrote:
| They're better than strict standard test suites, because they
| exercize real world useful stuff AND give a fun visual
| representation of the maturity. Wish we had such "acid test"
| for later CSS features like Flexbox too...
| andrewmcwatters wrote:
| No, they're immediately provably worse. If you started work
| on a CSS rasterizer today, there are zero test suites you
| can use for reference comparison.
|
| I'm talking about easy stuff, too, like normal flow,
| margin, border, padding box alignment.
|
| The existing official test suites are entirely manual.
|
| Edit: What you're describing requires you to make the
| entire world first, then finally test something.
|
| Here's an example: I want to test the white-space property.
| How do I test that? Oh also, font rasterizers are all
| different and standards don't dictate what happens after
| box layout. It's acceptable that glyphs render with
| different dimensions.
|
| How do I test that? A casual HN reader isn't going to care.
| Someone actually writing this stuff, will.
| tannhaeuser wrote:
| > _there are zero test suites you can use for reference
| comparison._
|
| What about W3C's web-platform-tests suite [1]?
|
| [1]: https://github.com/web-platform-
| tests/wpt/tree/master/css
| coldtea wrote:
| Sure, but I think you have a misconception: that those
| are like compliance tests for developers or have that
| role.
|
| Rather, those acid tests were tests that test the
| rendering engine (in multiple aspects at the same time),
| and are meant for the end users: to give them a nice
| visual representation of the browser's progress, or lack
| thereof, and to push browser developers to fix issues
| that cause visual glitches (with features drawing the
| test image selected to be nice for layout writers to
| have) and have them race each other to pass them...
| andrewmcwatters wrote:
| I don't have any misconceptions about the state of web
| technology testing, or how WaSP made an impact on the
| miserable state of the industry at the time. I work on
| browser technology.
| dillondoyle wrote:
| To test white space, quick thought have not tried,
| perhaps render some text that hits a chunk of the
| differences. Start default/normal. like perhaps text has
| a lot of tabs. JS measure offsetWidth. Or maybe use
| canvas export image see if base64 is same
|
| Do it again with different CSS settings.
| senko wrote:
| > Given that he's already written an entire OS, I don't think
| he's being too ambitious.
|
| Also, he actually did work on web browsers previously:
|
| > Until that point, my career had been focused on web browsers
| (WebKit at Apple & Nokia).
|
| So he knows exactly what he's doing.
|
| Based on those two datapoints, I'd say he (and other
| contributors) have a good shot at it.
| bla3 wrote:
| Ladybird doesn't pass Acid 2 either. It does pass Acid 3.
| userbinator wrote:
| That's surprising. I'd expect Acid3 to require far more
| effort to pass than Acid2.
| deaddodo wrote:
| Why? Acid3 just requires basic CSS support and a someone
| ES5 conformant js-implementation.
|
| Acid2 was specifically built to call IE out and to put
| browser builders on notice. It tests the most nuanced
| little quirks of some specific specs; and, because of some
| changes in the modern standard, doesn't actually conform
| anymore.
| rthomas6 wrote:
| Firefox passes acid2.
| olliej wrote:
| what's the failure? I _think_ some stuff got changed in spec
| land which makes acid2 no longer "correct"
| jzig wrote:
| Safari on iOS only scores 98/100 on Acid 3!
| hackernewds wrote:
| Why is July 4th relevant?
| patmorgan23 wrote:
| Because of LadyBird Johnson former first lady of the United
| States.
| Y_Y wrote:
| I haven't used it, but it seems that Flow[0] is also a
| plausible modern alternative browser which passes the Acid
| tests[1], unless you disqualify it for being closed source and
| borrowing its JS engine from Firefox.
|
| [0] https://www.ekioh.com/flow-browser/ [1]
| https://www.ekioh.com/devblog/acid/
| svnpenn wrote:
| > unless you disqualify it for being closed source
|
| Yes, I do disqualify it for that reason.
| bumblebritches5 wrote:
| [deleted]
| w0m wrote:
| my local FireFox is only 97/100; which susprises me...
| Melatonic wrote:
| Strangely I get 99/100 and it is totally smooth but pauses
| for just a second at item 68. Red text also appears in the
| very upper left that says " YOU SHOULD NOT SEE THIS AT ALL "
|
| This is with all extensions off using Firefox ESR
|
| https://imgur.com/a/ExBMzlx
| aidenn0 wrote:
| Try this version: http://wpt.live/acid/acid3/test.html
| mrweasel wrote:
| That's also "only" 97% in Firefox.
| actuallyalys wrote:
| Huh. I get 100% with 104.0.2 on Ubuntu.
| drdaeman wrote:
| 100/100 on my Firefox, and it's fairly customized with a
| bunch of extensions and non-default settings to the
| extent some sites refuse to work normally and I have to
| either ignore them or open them in an "alternative"
| "clean" browser.
| everforward wrote:
| I get 100% using Firefox 104.0.2 (64-bit) on Windows 10.
| Maybe it's related to the platform or addons? Could it be
| uMatrix or something blocking some kind of behavior that
| would be questionable on a normal webpage?
| inversetelecine wrote:
| I get 100% also, using Librewolf fork of FF (104.0.2).
| RFP is on and uBlock Origin enabled.
|
| edit: MacOS and Windows.
| jszymborski wrote:
| 100% on FF 104.0 for Ubuntu
| [deleted]
| throwaway09223 wrote:
| I was also seeing only 97% in Firefox.
|
| Disabling the LastPass add-on brought it to 100%. I'm
| guessing you also use LastPass?
| mrweasel wrote:
| You're right, disable LastPass and I get a 100%...
| Strange.
| userbinator wrote:
| That's a very fingerprintable observation.
| an_ko wrote:
| Most rendering oddities are not directly detectable by JS
| on the page, with the notable exception of the <canvas>
| element.
|
| Though I suppose rendering differences that affect
| z-order or visibility could be detected indirectly, by
| listening for pointer events on elements that are
| "supposed to be" visible/hidden.
| userbinator wrote:
| Isn't one of the main uses of JS to get the contents of
| elements on the page? That "97%" and "100%" would be
| clearly evident.
| jvalencia wrote:
| 99% :-/
| bowsamic wrote:
| Try "https"?
| aidenn0 wrote:
| Strangely I get 99% with https and 100% with http
|
| On FF for Android it hits 100% but the image is incorrect
| (there is red text in the top-left).
| vetinari wrote:
| > Strangely I get 99% with https and 100% with http
|
| Same (FF 104.0.2 on Mac, with uBO).
|
| The failing test is: Test 64 failed:
| object.data isn't absolute
| glandium wrote:
| That test is actually assuming the url is http, and
| doesn't work on https.
| glandium wrote:
| Try disabling addons. 10ten reader, for example, is known
| to alter pages' style and to break Acid3. There may be
| other addons doing the same.
| Tagbert wrote:
| 100% - Firefox 103.0.2 on Mac OS
| artiii wrote:
| try click on A for more info. In stable i get 100/100 (97/100
| in beta, but with privacy.trackingprotection.enabled=true and
| privacy.resistFingerprinting)
| Archelaos wrote:
| >> The Ladybird browser came to life on July 4th
|
| > Coincidence or not, that's a great date.
|
| Especially if considering that St. Ulrich is also the saint of
| the dying.
| userbinator wrote:
| Was thinking more along the lines of "browser independence"
| (from Big Tech) day.
| fluidcruft wrote:
| I didn't know about Super Duper Secure Mode. That's pretty
| interesting.
|
| https://microsoftedge.github.io/edgevr/posts/Super-Duper-Sec...
| alexb_ wrote:
| Would this prevent me from looking at or modifying the
| Javascript code that is running, since it's already compiled?
| fluidcruft wrote:
| Hmmm. Maybe I misunderstood the link or missed something. I
| thought all they did is disable JIT and leave the JS as
| interpreted.
| alexb_ wrote:
| I'm not knowledgable with JS at all, so you're probably
| right. I do wonder what the "Code Integrity Guard" is going
| to mean - who has to sign the JS? Does this mean
| tampermonkey/adblock scripts would stop working? Genuinely
| asking as like I said I don't really know too much about
| javascript
| wzdd wrote:
| This seems to be referring to
| https://docs.microsoft.com/en-
| us/microsoft-365/security/defe... which would mean that
| they require the browser itself to be digitally signed,
| not the JS.
| genezeta wrote:
| This is a completely different thing.
|
| The "super duper secure mode" is not at all about you
| accessing or modifying the JS code from a website you are
| visiting. What it is about is trying to protect against some
| piece of JS code bypassing the security of the browser
| sandbox and accessing stuff it shouldn't ever have access to.
|
| :)
|
| Edit: Also, in general, no, disabling JIT would not prevent
| any particular JS code or extension from running. At most, it
| might mean _some_ code would run slower. But that 's what
| they claim, that it isn't noticeable.
| alexb_ wrote:
| Thanks for the clarification.
| creamedcabbage wrote:
| GrapheneOS adds a permission to chromium on android so you can
| manually allow websites to have their javascript JIT'd. Most
| websites are plenty quick without the JIT although SPAs like
| Tinder and Google Maps did struggle without it.
| easrng wrote:
| I use Bromite which does the same and the only issue I run
| into is when sites need WASM. (Chromium doesn't have a non-
| JIT WASM interpreter, though IIRC Edge does.)
| benreesman wrote:
| Haha writing a browser is easy! (No, no it's not at all. Please
| don't hurt me anymore.)
|
| The worst part is the fucking patent lawyers:
| https://pdfpiw.uspto.gov/.piw?docid=09576068
| squarefoot wrote:
| Sure, but how does this affect a browser that is not a product
| for sale?
| benreesman wrote:
| Oh almost certainly not. That technique was obsolete ten
| years ago. I was just showing my battle scars from having had
| to do a ground-up browser in deference to the magnitude of
| the accomplishment.
|
| Writing a browser was no walk in the park like 6 standards
| revs ago: I bet it's a fucking nightmare now.
| nazgulsenpai wrote:
| LAME is an LGPL MP3 encoder that you always had to download
| separately from whatever software used it because of MP3
| patent fears. Even if it doesn't create direct financial
| liability for the creators it can have a chilling effect on
| adoption.
| andrewmcwatters wrote:
| No, that's definitely not the worst part. The worst part is
| there is no nice way to convert the abstract language from CSS
| 2.1, the part that everyone cares about right before JavaScript
| integration, into a standards-compliant algorithm. Why? Because
| no definition for it exists. It is left as an exercise to the
| reader.
|
| WHATWG doesn't improve on this either, in fact, they completely
| leave it out, whereas at least W3C's original work makes it
| clear that it's descriptive and you need to figure out an
| algorithm that makes it work.
|
| Edit: The section describing the processing model for CSS is
| non-normative. The authors provide an example flow, but a
| normative algorithm doesn't exist for CSS.[1]
|
| [1]: https://www.w3.org/TR/CSS2/intro.html#processing-model
| tannhaeuser wrote:
| FWIW, I know two (partial, kinda) formal specifications of
| CSS normal flow and float layout, both of which are finished
| ie dead projects:
|
| [1]: https://lmeyerov.github.io/projects/pbrowser/pubfiles/pa
| per....
|
| [2]: https://github.com/uwplse/cassius
|
| (not counting the 1990s constraint CSS effort).
|
| The first was merely part of a parallel compiler project and
| also covers table layout, whereas the second is a Racket
| (Scheme) program to formulate the HTML doc and CSS rules as a
| theory for submitting to z3 SMT to solve all kinds of
| decision problems (it can also produce a rendering).
|
| Not sure that's very helpful; it would be cool if W3C can
| invest some time into better specs (not just prose).
| nsajko wrote:
| Added to Arch Linux repos a few hours ago!
|
| https://archlinux.org/packages/community/x86_64/ladybird/
| rhdunn wrote:
| I've been watching his YouTube videos on developing the LibJS and
| LibWeb components. They are interesting and show that this kind
| of thing can be done.
|
| As a larger point, it is important to have multiple web stacks so
| that no one player can dictate what the web should look like, or
| gate access through that stack. Having this new stack grow to the
| point where it is becoming a viable alternative is great to see.
| masklinn wrote:
| > As a larger point, it is important to have multiple web
| stacks so that no one player can dictate what the web should
| look like, or gate access through that stack.
|
| That strikes me as a pretty naive view. If you y've got a
| webstack with >90% market share, you effectively have one
| webstack which dictates what the web should look like.
|
| Because most devs will only test for it (best ROI) and most
| users will switch to it when their ability to use the web on
| other stacks starts degrading.
| aftbit wrote:
| This is what nearly happened with IE, except Firefox then
| later Chrome managed to displace it to some extent. Now it
| would be likely to happen with Chromium based browsers if not
| for Mobile Safari being an important target as well.
| masklinn wrote:
| > This is what nearly happened with IE, except Firefox then
| later Chrome managed to displace it to some extent.
|
| It took MS sleeping on it for several years and the entire
| web taking off like a rocket for that to happen. Not to
| mention "full web" mobile expectations.
|
| It took cataclysmic disruptions in the space to even have a
| chance if breaking IE's monopoly.
| iopq wrote:
| It's already happened
|
| A website I use said I need to use their Chrome add-on to
| automate some info gathering stuff. But I use Firefox?
| Underphil wrote:
| In all fairness, that's one example. There's probably
| some outdated stuff that still requires IE.
| girvo wrote:
| Chrome displaced it _purely_ from the huge marketing power
| of Google, being _the_ search engine the world over. By
| putting a "use chrome" message into Google Search, they
| got the word out in a way that no other browser vendor
| could ever hope to do.
|
| I'm not hopeful that it can ever be replicated. That said,
| I will always continue to use browsers other than Chrome,
| so at least selfishly I'm excited about projects like this!
| chii wrote:
| Pure marketing isn't the reason chrome took over. It was
| super speed and security.
| girvo wrote:
| It's absolutely the reason it took over. Without it, that
| speed and security meant nothing.
| sam_goody wrote:
| Nope. Firefox got up to speed really fast, and security
| should never be used to describe a browser that is
| inherently spyware ( _do you even have a clue about what
| the browser is sending home?[1]_ ).
|
| Playing dirty [eg. purposely changing Youtube to not work
| with the standards adhered to to by FF], making promises
| that they never filled and lots of aggressive marketing
| is the only reason that they achieved dominance.
|
| [1]: https://github.com/ungoogled-software/ungoogled-
| chromium/blo... That's the list of unique divisions that
| Chrome sends to, but don't forget that they send which
| page you went to, how long you stayed on the page, your
| passwords in plaintext, etc.
| chii wrote:
| > your passwords in plaintext
|
| are you sure they do that? That's a big claim, and a huge
| security problem.
| sam_goody wrote:
| I saved a password in Chrome on Android.
|
| Went home, logged into the same website from my desktop.
| Chrome offered to log me in.
|
| My unprofessional conclusion - Google could not have
| encrypted my password in a way that would have prevented
| them from logging in as me on another device.
|
| As an aside, I was logged into GMail on the desktop, but
| I couldn't recall having logged into Chrome. _If_
| correct, than once you have logged into a Google
| property, all is fair game on any other sites you visit.
| cwt137 wrote:
| I've been watching his videos too for the last 6mo or so. If
| you like them, you should watch his friend's videos on
| SerenityOS as well, Linus Groh [1]. He does a lot of stuff on
| LibJS and LibWeb libraries. I think he is the lead developer
| for those because every month when Andreas does the monthly
| summary video of changes in the OS, he defers to Linus to talk
| about the browser changes.
|
| 1) https://www.youtube.com/channel/UC84u7JhM9EIAYzyjdf6cBbA
| ArrayBoundCheck wrote:
| What does noone can dictate mean?
|
| Google dictates it and I've ran into many many sites that
| doesn't function with firefox or anything other than chrome
| heywire wrote:
| Got any concrete examples? I hear this a lot, but have never
| experienced it. I've been using Firefox as my primary desktop
| browser for years now. I can't think of any website that
| didn't function. But maybe I encountered one and just thought
| the site was down?
| eitland wrote:
| The version of Unit 4 that we use at work only works in
| Chrome.
|
| That said, lately, that particular thing has been the only
| one that I need to use that outright doesn't work.
|
| I think a number of Google technologies are slower in
| Firefox on purpose, but I just avoid them and keep telling
| competition authorities about their abuse of power.
|
| Sooner or later they will get caught.
| dotancohen wrote:
| The Hebrew language Nespresso site pops up a browser
| dialogue "you have unsaved changes" every time one tries to
| browse to another page. The dev team is aware of it, but
| "the site only supports Google Chrome" so they don't fix
| it. https://www.nespresso.com/il/he/
| bityard wrote:
| In my case: several financial institutions that I have
| accounts with and lots of enterprise apps and gear with web
| UIs either break silently, have certain functions that
| don't work, or block with an error telling you to use a
| supported browser. (If they're nice, they even tell you
| which ones are supported.)
|
| For a while, Slack didn't support all features on Firefox
| despite the technology being there, I don't know if this is
| still the case.
| smarnach wrote:
| Please report this kind of bug on webcompat.com. It's
| often possible to get them fixed.
| bar8uyr wrote:
| Shopify admin is one (but also one that's better to just
| not use if you have that option)
| gitgud wrote:
| Godaddy complains with other browsers...
|
| https://news.ycombinator.com/item?id=32093987
| heywire wrote:
| Reading that thread, it sounded like OPs issue was more
| with an extension blocking something than the browser,
| but I'll admit, I do not use GoDaddy, so I haven't
| experienced it first hand.
| samsquire wrote:
| This is awesome and I would like to understand the code for
| layouting.
|
| I wrote an extremely primitive layout engine a few days ago that
| I was intending to build a custom browser around but it's very
| challenging problem. I use the ORCSolver greedy algorithm for
| widths or heights. I plan to implement text support but that's
| hard problem really.
|
| I used WxWidgets and wrote it in Python for simplicity and
| understandability.
|
| I plan to implement branch and bound with intervals.
| andsoitis wrote:
| > Q: Do you have a JavaScript JIT compiler?
|
| > No, we have a traditional AST interpreter that is being
| replaced by a bytecode VM. You can track the LibJS test262 score
| for both backends here. I'm not convinced that the complexity and
| security burdens of a JavaScript JIT are reasonable, and given
| recent developments like Microsoft Edge's Super Duper Secure
| Mode, I'm interested in pushing for best-effort JIT-less
| performance while keeping the codebase simple.
|
| Always excited to see new JS engines. I'd be curious to see where
| LibJS's _performance_ / _code simplicity_ / _memory_ balance
| tends towards over time.
| zxspectrum1982 wrote:
| I wonder if a new implementation of JavaScript was needed. My
| first hunch would have been to try Fabrice Bellard's QuickJS:
| https://bellard.org/quickjs/
| paoda wrote:
| It definitely wasn't needed, but it goes against what I think
| makes SerenityOS so special.
|
| That being that everything in SerenityOS and its several
| related projects is made from scratch.
| greenthrow wrote:
| > If you wish to make an apple pie from scratch, you must
| first invent the universe.
|
| They are using Qt and C++. They have chosen where to draw a
| line, which is fine, and that line happens to be on the
| other side of "Javascript Engine".
| [deleted]
| coldtea wrote:
| I think they'll replace Qt with their own GUI lib
| eventually - and they're already building their own
| language to replace C++ (for their uses I mean)...
| lioeters wrote:
| > they're already building their own language to replace
| C++
|
| Of course, every respectable software project sooner or
| later invents its own language!
| asddubs wrote:
| I guess a precise defition of the line would be something
| like "no third party code dependencies"
| iopq wrote:
| Qt is not third party?
| sp332 wrote:
| Well... not if you're using KDE as your window manager?
| asddubs wrote:
| for their operating system (serenityOS) they're not using
| any dependencies, they have their own windowing
| framework. for the cross platform version of the browser,
| they use Qt instead. but on serenity itself the browser
| does not use it.
| bowsamic wrote:
| They are not using Qt in Serenity, only on Linux in order
| to hook up painting and events.
|
| Also, they are making a new programming language (Jakt)
| to replace a lot of the C++
| adamdusty wrote:
| Evidently the line is a curve and did not include a third
| party JS engine, since the project doesn't include a
| third party JS engine.
| greenthrow wrote:
| I know. I think you did not understand my comment.
| sph wrote:
| To be fair Qt is just to create the window on Linux, but
| all the browser internals are their own.
| greenthrow wrote:
| It's also being used for networking.
| [deleted]
| dom96 wrote:
| This actually makes a lot of sense, especially when you
| consider that WASM is now a thing.
| suction wrote:
| llllllllllll9 wrote:
| kling for king! ... the good people of the world love and cheer
| for you. onwards, while there is life. :)
| renewiltord wrote:
| Planning on being Widevine et al compatible? It's the only part I
| see as having an outside constraint.
| gigatexal wrote:
| The support both monetarily and in contributions to help him work
| on this full time and stay sober is one of the stories in tech
| that always warms my soul. I will always follow the project and
| with a soft spot for it because of this. At the end of the day
| who cares about the software, a man has kicked his vices and is
| healing. Bravo.
| ilrwbwrkhv wrote:
| Andreas Kling is a legend. Having followed him since the early
| days, I am so happy that the whole ecosystem has come so far.
| What a refreshing change to get unadulterated insight into the
| mind of a true hacker, when the rest of the world is stuck
| grinding leetcode.
| skulk wrote:
| Isn't it wonderful what a social safety net brings us?
|
| For context, SerenityOS was dreamed up during a stint at a
| state rehab facility. (This information is included in a link
| from TFA)
| alexb_ wrote:
| One has to wonder what Terry Davis could have made if he got
| care for his schizophrenia.
| lioeters wrote:
| I sympathized for him, a brilliant and broken person. The
| U.S. is full of such homeless people, coast to coast,
| fallen through the social safety net like crazy diamonds on
| the streets.
|
| His operating system was deeply related to his obsessive
| mystical thoughts. The computer was an "oracle", a medium
| through which he communicated with the Divine. If he had
| received the mental healthcare he needed, I wonder if he
| would have continued with the project. In a way, that
| project was all he had, when he had lost everything.
| sprash wrote:
| It's great that this Browser is now independently developed from
| Serenity OS. But I'm not a huge fan of the QT dependency. You
| might as well use Qt WebEngine Widgets at this point.
| jonas-w wrote:
| I was at first excited, a new browser that isn't firefox or
| chrome. But then it said QT and this made me loose interest
| immediately.
| Beyley wrote:
| They only use QT to display onto the screen and get user
| inputs (also for network requests but that's subject to
| change)
| Deukhoofd wrote:
| It doesn't look too hard to remove that dependency, but then
| you'd have to write your own cross-platform GUI software, which
| might be out of scope. Might be a fun exercise though.
| sprash wrote:
| Why does it have to be cross platform? At this point Ladybug
| does not compile on Windows anyways. Also the target audience
| is probably mostly using Linux.
| Deukhoofd wrote:
| Well, the goal from the article is obviously to make it
| cross-platform, it's even in the title ;). To achieve that
| they just wrapped it in Qt. To replace that you'd have to
| achieve parity for the (admittedly smallish) subset of Qt
| that is being used. Starting with Linux for that would be a
| good start, but I'd assume the eventual goal would be to
| expand to other platforms as well.
| account42 wrote:
| And what windowing toolkit do you think it sould use on
| Linux? GTK? Meh. Qt is fine and using QtWidgets is pretty
| far from depending on QtWebEngine.
| sprash wrote:
| None? Talking to bare X11 is actually pretty simple.
| Deukhoofd wrote:
| Don't forget that you're also expected to support Wayland
| nowadays on Linux.
| sprash wrote:
| Who is _expecting_ Wayland support besides Redhat and
| Collabora?
|
| And yes, talking to Wayland directly is extremely
| cumbersome and unnecessary complex. That's why nobody
| uses it.
| smoldesu wrote:
| Talking to bare x11 is one of the worst ways to conform
| to XDG desktop spec.
| zamadatix wrote:
| It seems to compile on MacOS and Android already so not
| being on Windows (yet) doesn't really sidestep having a
| cross platform GUI/events library.
| nottorp wrote:
| Yep. Not sure what Qt is at now, technically. But that's
| because when you go download it you have to click through 5
| screens that threaten you that you shouldn't use the LGPL
| version and pay instead. I don't like being threatened so I
| don't check out Qt.
|
| To the point that it's banned at my job because we're too small
| to have lawyers on retainer to protect us if we use the LGPL
| version and do too few GUI jobs to justify the licensing model
| for the commercial version...
| diath wrote:
| If your framework of choice can implement a network request
| manager, a timer, and has an event loop, it's quite trivial to
| make it run within that framework, especially after the recent
| changes done by Andreas in this video:
| https://www.youtube.com/watch?v=S8lXroxngYo
| Razengan wrote:
| Unpopular Opinion: Ditch HTML/JS/etc. altogether and invent a new
| way to create, deliver, and execute ANY content _natively_ on any
| platform.
|
| Replace browsers -and- existing operating systems altogether.
|
| ----
|
| As of now, in terms of end results for the user, what's missing
| from the Linux/Mac/Windows GUIs:
|
| * Typing something (URL etc) and accessing the latest version of
| an app, with latest content, and knowing that everyone else in
| the world is getting the same thing.
|
| * Linking to content within apps.
|
| What's missing from browsers and the web: Too much to list, but
| mainly:
|
| * Basic shit behaves differently on everywhere website.
|
| * Too many artificial restrictions: Can't scroll freely, can't
| select freely, can't even freely zoom or save images on the most
| popular image-sharing websites, fuck you Instagram.
|
| * I can't save my own data on my own machine, or easily move it
| between web-apps. Have to go through hoops to even access all
| your data that the website's company has access to, if ever.
|
| * Inefficient usage of your hardware.
| hiccuphippo wrote:
| On the one hand, yes I like native apps. On the other, I don't
| want to have each site install its native app and have one more
| trojan/tracker to worry about.
|
| I guess SPAs and WASM kind of give you that within the security
| of the browser's sandbox.
| boomlinde wrote:
| _> Typing something (URL etc) and accessing the latest version
| of an app, with latest content, and knowing that everyone else
| in the world is getting the same thing._
|
| This is why I prefer managing the software I use myself. Upon
| first receiving a new version of a web app, I have never tried
| it or had a chance to review the changes to figure out how they
| affect my workflow. With software installed natively with my
| package manager, I have a chance to review everything and
| update only the software I want to update.
|
| _> * Linking to content within apps._
|
| No, all major operating systems support scheme handlers.
| Razengan wrote:
| > _No, all major operating systems support scheme handlers._
|
| No, you know that rarely works out in practice and is not
| what I meant.
|
| Take this example: https://news.ycombinator.com/reply?id=3281
| 4887&goto=threads%...
|
| Or: https://old.reddit.com/r/Gloomhaven/top/?t=month
|
| But can we do something like this?
| file://Users/Me/Pictures/?filter=cats&sort=new
|
| Or this? pixelmator.app/lastdocument/thumbnail
| jeroenhd wrote:
| If you control the application/backend then I don't see why
| you would need HTTP(S) URLs to get the right content.
|
| Android actually allows registering HTTP(S) URLs with
| certain domains and wildcards
| (https://developer.android.com/training/app-links). Not a
| big fan of this "validate a token through Google to skip
| the app choice dialogue" approach but luckily Firefox
| always prompts before opening a registered app link anyway.
| iOS supports a similar feature. It's up to browsers on
| other platforms to implement their own support if this is
| something one would want to add to the browser.
| zzo38computer wrote:
| You can't "execute ANY content _natively_ on any platform ".
|
| It is true that the things that you list are the actual
| problems, and there are many others, too. The modern WWW is a
| too messy design, and additionally to that, web pages and web
| browsers are also badly designed.
|
| I had partially written specification of "VM3", which hopefully
| will be an improvement for cross-platform application programs.
| There is no CSS, nor Unicode (well, technically you can include
| Unicode text fragments, but it is discouraged), and it is
| independent of protocols (so you can use with local files, DVD,
| HTTP(S), Gemini, etc, but none of these are required nor is it
| limited to any specific kind). All I/O must be done using
| extensions (identified by UUID), which require a specification;
| it also has a mechanism for polyfills which is (in my opinion)
| superior than that of WWW. Furthermore, is intended better for
| the end user controls/customizations. Also, some of the
| internal design decisions I have done differently due to things
| that I think are better than what are currently done (e.g. how
| linking works, and many features use a binary format, etc).
| Extension declarations can also be linked with each other, too
| (note that this is linking the interface, not the
| implementation; the implementation is deliberately not
| specified by VM3).
|
| Some VM designs are good for interpreted, and some are good for
| JIT, but I think that to make implementations competitive, and
| improve efficiency, it may be better for the design to be good
| for both, so that is what I have tried to do. For example,
| there are restrictions on how branch addresses can be derived
| (e.g. one feature is that you cannot store branch addresses in
| general registers).
|
| VM3 cannot "execute ANY content _natively_ on any platform "
| (and nor can anything else), but my intention is to make
| something better than existing systems.
|
| Things similar to TerseNet, and other possible different things
| people will want to make, some of them may be possible as
| specific subsets of VM3. An implementation of VM3 can then
| support specific subsets or can have full capabilities
| (preferably, configurable by end user).
| Cyberdog wrote:
| Obligatory XKCD link: https://xkcd.com/927/
|
| Variety is good. New browsers with new engines are good (though
| I think an announcement like this without any pre-built
| binaries for normies to download is a bit premature). I say
| this as a web developer who well remembers the IE6 struggles of
| yesteryear - but also fears the Chrome monoculture of tomorrow.
| UI differences between web pages are annoying, especially when
| they break things like scrolling and selecting, I agree, but
| the answer isn't to creatively flatten what the web can be, Big
| Brother-style.
|
| As for Instagram, well, perhaps you should consider making a
| back-up of your own photos before you entrust them to a service
| owned by a company whose sole profit model is taking your
| content and putting ads next to it.
| karteum wrote:
| And we could make it rely on Postscript and call it "NeWS" :)
| https://en.wikipedia.org/wiki/NeWS
| michaelwww wrote:
| 20 years ago I thought flash would take over. Shows you what I
| know.
| sb057 wrote:
| Web 2.0/3.0 was a mistake.
|
| https://idlewords.com/talks/website_obesity.htm
| Existenceblinks wrote:
| HTML is ok. Get rid of js. Rewrite DOM stuff, render HTML as
| more efficient graph mechanism (e.g. virtualized, can have 100k
| nodes)
| simonw wrote:
| > Ditch HTML/JS/etc. altogether and invent a new way to create,
| deliver, and execute ANY content natively on any platform
|
| Sounds like you want WebAssembly.
| Razengan wrote:
| That's just more turd polish.
| mwcampbell wrote:
| Tangentially, but on the subject of alternate browser engines,
| how is Servo doing these days? Has anyone managed to keep that
| project alive after the Mozilla layoffs in 2020?
| Ygg2 wrote:
| Poorly. It's updated, but looking at 3k issues and just 30 PRs
| requests paints a dark picture.
|
| Servo had trouble getting 10k per year funding for just basic
| CI expenses.
| [deleted]
| andrewmcwatters wrote:
| TakeBlaster16 wrote:
| Components of Servo were integrated just fine into Firefox.
| WebRender is the big one, and iirc many smaller ones too (the
| css parser maybe? memory hazy)
|
| There's also non-web-related software that uses WebRender,
| such as Azul. https://azul.rs/
|
| Maybe there aren't integration points at the layer you were
| hoping for, but that doesn't mean the entire project is
| "bullshit"
| andrewmcwatters wrote:
| [deleted]
| tannhaeuser wrote:
| sanxiyn wrote:
| Rust is actually good at parallelization. Good examples
| include ripgrep (multithreaded grep) and Stylo
| (multithreaded CSS selector matching), both are state of
| the art in their fields.
|
| I agree with you that Rust is not best at implementing data
| structures and dynamic language runtimes and async
| networking. But Rust is good at parallelization.
| kibwen wrote:
| Have you tried using Rust for anything?
| chc4 wrote:
| Servo supported the CEF (Chronium embedded framework) API for
| embedding. See https://github.com/paulrouget/servoshell and
| https://github.com/jdm/servo-embedding-example
| fabrice_d wrote:
| Servo produced a very fast CSS rules matching engine now used
| in Firefox (see https://nolanlawson.com/2022/06/22/style-
| scoping-versus-shad...), and WebRender which underpins
| Gecko's rendering. That's not nothing.
|
| About embedding Servo, I have some experience around that
| (https://github.com/fabricedesre/servonk/) and it's been easy
| to embed: you just need to provide a GL surface and hook up
| your input events into their event loop. Clearly there were
| not zero integration points, and a some other examples exist
| (like https://github.com/paulrouget/servoshell).
| rvz wrote:
| Interesting that there is little to no mention of Servo here.
| The once hyped up browser engine _' Written in Rust(tm)'_ that
| was meant to be a revolutionary new alternative browser engine
| meant to be used in Firefox for its fearless safety features.
| Yet the entire project headed for the scraps at Mozilla and is
| sitting somewhere on GitHub with no-one using it.
|
| When I see hype around a new browser engine from scratch I am
| immediately skeptical, unless those 'donations' turn into _'
| corporate sponsorships'_.
| M2Ys4U wrote:
| Servo was never meant to be an alternative browser engine
| that would replace Gecko.
|
| It was an R&D project and, if you look at the bits that made
| their way in to Firefox, a fairly successful one. Stylo,
| WebRender, various parsers etc...
| azakai wrote:
| (sorry to post twice on the same topic, but your first
| sentence is not accurate, see
| https://news.ycombinator.com/item?id=32813714)
| kibwen wrote:
| I know better than to dispute Alon Zakai on Mozilla
| internals, but it remains true that Mozilla's external
| messaging unwaveringly insisted that Servo was not going
| to replace Gecko. Even in the later years it emphasized
| the strategy of gradual replacement of select components.
| azakai wrote:
| Interesting. I may be less aware of the external
| messaging than you. Do you have some examples of that
| perhaps?
|
| I'm not doubting you, I'm just curious what was written.
| I'd expect stuff like "Servo is an experimental browser
| engine," or, "We don't currently have plans to replace
| Gecko with Servo" (which was obviously true at all times
| in history), but I'd be surprised to see something like
| "Servo will never replace Gecko." But maybe I just didn't
| see that messaging - could be!
|
| It's also worth mentioning that "replacing Gecko" may be
| the wrong way to look at it. More reasonable is for Gecko
| and Servo to eventually come into alignment - somehow.
| That's what happened in practice, in a way that has a lot
| more of Gecko than Servo, but in theory it could have
| happened the other way, with a lot more Servo. Even in
| that situation, I wouldn't say Servo "replaced" Gecko -
| it's more complicated than that.
|
| For Mozilla, Servo was an experiment. Experiments can end
| up as full products, or parts of them, or not at all. I
| think it's clear one possible outcome of the experiment
| was a full browser (I was personally rooting for that all
| along). It didn't end up that way, but when people say a
| full browser was never the intention, I think that's not
| accurate history.
| kibwen wrote:
| _> Do you have some examples of that perhaps?_
|
| Not off hand (and Mozilla's official marketing rarely
| goes so low-level as to mention the browser engine itself
| by name), but (as someone who has been hanging out in
| Rust spaces since 2011) I recall the Servo devs always
| being very careful to disclaim any intentions to
| wholesale replace Gecko in Firefox (though I did always
| wonder if they were instructed to do so, as a way to keep
| Gecko contributors from rebelling).
| azakai wrote:
| Yeah, I also didn't see a culture of saying "we're going
| to replace Gecko." Not because there was any instruction
| to speak carefully AFAIK, but because that's not the
| goal. The goal was for Servo to succeed, hopefully both
| technically and as a product.
|
| Product success could happen through convergence with
| Gecko (as actually happened, but again, the convergence
| could have been tilted the other way), or through Servo
| powering something separate from Gecko (for an example of
| that, in later years Servo was meant to power Mixed
| Reality projects, which is a story in itself; but other
| ideas include Servo as an embedded engine, or powering
| distinct tabs in Firefox and other obvious ideas).
|
| In some of those options Servo could have been a full
| browser engine or even a full browser. I think there was
| always a hope for that. I'm sad it didn't happen, but
| it's still a big success in several important ways.
| Anyhow, I just hope the history doesn't get rewritten as
| "the goal was always exactly what happened in the end."
| kibwen wrote:
| _> Anyhow, I just hope the history doesn 't get rewritten
| as "the goal was always exactly what happened in the
| end."_
|
| Indeed, that's not my goal, I wish that Servo would have
| been developed even further and still hope that it might
| happen someday, somehow.
| azakai wrote:
| Me too!
| sanxiyn wrote:
| Note that if you are running Firefox now, you are using
| Servo's graphics stack.
| jfk13 wrote:
| As well as its style system.
| TakeBlaster16 wrote:
| Servo wasn't funded by donations, it was funded by Mozilla.
| That single point of failure was their downfall. I'll take
| 100 monthly donations over one corporate sponsor any day.
| rvz wrote:
| > Servo wasn't funded by donations, it was funded by
| Mozilla.
|
| All thanks to Google; 'funding' more than 85% of Mozilla,
| which not only having a direct competitor browser going
| against what Mozilla is standing for, they continue to fall
| behind features that Google pushes into the web standards
| committee at the W3C with Mozilla sitting there doing
| nothing, but going along with it, but late.
|
| Mozilla failed because for 14+ years it was unable to make
| money for itself other than Google and could not move away
| from them when they ate their lunch and quickened their
| decline.
|
| > I'll take 100 monthly donations over one corporate
| sponsor any day.
|
| I didn't say 'one corporate sponsor', but let's go with the
| '100 monthly donations'.
|
| How many of those developers are active and full time like
| awesomekling? Less than 5?
|
| With a simple observation on their Patreon / GitHub
| sponsorship page, paying $4 a month average with 100 people
| is hardly enough to support a single developer, even with
| the $1K monthly going to only one developer for building a
| browser and especially with less than 5 _active_
| developers. Realistically, corporate sponsors would make
| this more sustainable.
| JBits wrote:
| I'm not very knowledgable about this, but did failing to
| a new revenue source really lead to Mozilla's decline?
| From articles about their CEO's massive salarly, I'm
| (perhaps naively) thinking mismanagement is a far greater
| issue.
| Woodi wrote:
| ACID3 100% WOW ! Some fuzzing then ready to replace Mozilla ?
|
| But it looks like whole WWW ecosystem resembles CVS -> Subversion
| situation and L.T. -like comments starts to look very sane...
| notpushkin wrote:
| Acid3 is not nearly 100% of features you would want to cover in
| a contemporary browser engine. The author agrees:
|
| > we do pass the classic Acid3 standards test, which covers a
| bunch of basic CSS layout features, and various DOM/HTML APIs.
| However, the test does not cover many of the features used on
| the web today (like CSS flexbox, CSS grid, etc.)
| danjoredd wrote:
| I really hope this is successful. We need more web platforms
| outside of chromium
| cies wrote:
| > The browser and libraries are all written in C++. (While our
| own memory-safe Jakt language is in heavy development, it's not
| yet ready for use in Ladybird.)
|
| Have a look at Jakt, it looks a like a really cool language, that
| strike a balance between performance and simplicity. And it has
| proper sum-types!
|
| https://github.com/SerenityOS/jakt
| fulafel wrote:
| And memory-safe.
| Melatonic wrote:
| Hell. Yeah. Screw the naysayers. This is awesome!
| hulitu wrote:
| Grey on black. Some people never learn.
| unethical_ban wrote:
| I know very little about web engines, but I would be interested
| to know how this project is architected perhaps to supplant
| webkit for alternative browsers such as Vivaldi.
| smartmic wrote:
| Previous discussion (56 points / 8 comments):
| https://news.ycombinator.com/item?id=32014061
| bejd wrote:
| While common knowledge says that building a new browser is "too
| big, too hard", I'm excited that some intrepid people are
| tackling this problem and wish them success!
| orangecat wrote:
| Yes. I mostly agree with the common knowledge, but am glad
| someone is putting it to the test. We'll learn from either
| their success or failure.
| ArrayBoundCheck wrote:
| When it comes to common knowledge in programming it's more
| often incorrect. I still see people telling experts they
| shouldn't use global variables, that you can't beat the
| optimizer, that you should use a library (for something as
| trivial as left pad) etc
| keyle wrote:
| That made my day. Go ladybird!
| mekster wrote:
| If he was going full scratch everything, why didn't he make a new
| markup and styling that would fix everything the web is wrong
| about instead of reinventing a jaggy wheel? That would've been a
| revolution.
| wtetzner wrote:
| Then you couldn't use it to browse any of the existing web...
| mekster wrote:
| Practically, would anyone use it to browse the web anyway?
|
| HTML/CSS/JS combo has been pretty much as is, only with some
| better tooling, for the past 25 years and we could use a
| fresh innovation.
|
| It's usually a small team who initiates an innovation as big
| companies don't like niche ideas but when it if gets enough
| dedication to take enough traction, it can fly.
| niutech wrote:
| There is something like it called Project Gemini:
| https://gemini.circumlunar.space
| losvedir wrote:
| This is great! SerenityOS comes up on HN quite a bit and I've
| always been super impressed. Last time, he almost offhandedly
| mentioned it had its own browser and I thought that was so
| notable in itself that I started sponsoring him on GitHub. I'm
| thrilled to hear his goal has become to make it cross platform
| now!
| pvsukale3 wrote:
| Congratulations and best wishes to Andreas and his team. His work
| is very inspiring.
|
| My question as a systems programming newbie:
|
| Could a compiled binary of this project with HTML and CSS be used
| to create cross platform apps like Electron?
| selfhoster11 wrote:
| Probably. The Chromium browser engine first had to be turned
| into Electron, so there is no reason why you couldn't do the
| same here.
| actuallyalys wrote:
| The original LibHTML commit makes it sound like it was
| originally intended for embedding, so I don't see why not: http
| s://github.com/SerenityOS/serenity/commit/a67e823838943b....
| Electron has affordances beyond just being a web view, so you
| would have to add those (or work around not having them).
| niutech wrote:
| Yes, it should work. There are also cross-platform
| alternatives: Sciter and Ultralight.
| sylware wrote:
| Bad start: c++. We have already blink/geeko and webkit in c++.
| There is no disruption here. To make a real difference, this new
| web engine should not force ppl to use those grotesquely and
| massively complex and massive c++ compilers.
|
| To bring something really interesting: plain and simple C (not
| like the linux kernel gcc C dialect) with, if required, some
| assembly which do not abuse its macro preprocessor.
| asicsp wrote:
| > _The browser and libraries are all written in C++. (While our
| own memory-safe Jakt language is in heavy development, it's not
| yet ready for use in Ladybird.)_
| sylware wrote:
| so it is like servo with rust in mozilla...
|
| not good omens.
|
| hopefully, jakt is written in plain and simple C...
| Deukhoofd wrote:
| Jakt is bootstrapped with Rust, and they're working on
| making it selfhosted.
| sylware wrote:
| So, I need a rust compiler, to compile jakt which will
| compile their web engine which does not really exist
| currently, only forks of c++ code. To bootstrap the rust
| compiler written in rust, I would need static binaries of
| this compiler.
|
| The first words which come to my mind is "convoluted and
| expensive SDK".
|
| That said, I have not checked on rust syntax lately to
| see if it became insane like c++. Last time I had a look,
| it was not, but it was a long time ago.
| ADKaster wrote:
| As other commenters mentioned, the jakt language is self
| hosted as of a few months ago. If you look at the
| projects README and source code, you can see that it's
| currently transpiling to C++. It's also only been around
| since May of this year.
|
| LibWeb very much exists, and is not a fork of anything.
| It lives in the SerenityOS project and is written
| entirely green field C++.
| sylware wrote:
| So in the far future, jakt will compile in machine code
| with the rust-written rust compiler (or a bootstrap jakt-
| written jakt compiler) and will generate native code for
| a libWeb and libJS that are able to browse youtube and
| disney+, that with a SDK not pulling a grotesquely and
| absurdely complex and massive c++ compiler.
|
| I think I got the picture now. Thx.
| larvaetron wrote:
| They passed the selfhosting milestone a few months back
| IIRC
| JBits wrote:
| I don't understand why choosing Rust or C++ would be a bad
| omen for a project. Not everyone prefers C.
| z3t4 wrote:
| Anyone else having trouble building ? ladybird-
| git/src/ladybird/ConsoleGlobalObject.cpp:10:10: fatal error:
| LibWeb/Bindings/NodeWrapper.h: No such file or directory
| 10 | #include <LibWeb/Bindings/NodeWrapper.h>
| tomaspollak wrote:
| Did you manage to do it? I (also) failed miserably.
|
| It would be great if they added a Github actions script to
| perform automated builds on each commit or PR merge.
| ADKaster wrote:
| Pull the latest from github rather than the AUR package. It's
| out of date. All things serenity related tend to get out of
| date quickly :)
| ddevault wrote:
| I also can't build it (on Alpine), but I get a different error.
| I've tried to build Ladybird 3 or 4 times over the course of as
| many months and had no success.
| dtx1 wrote:
| asddubs wrote:
| yeah, that's why I only surf the internet using the ??? browser
| dtx1 wrote:
| The Chrome or Firefox Browser where literal billions of
| dollars and hundreds of developers work to ensure the worst
| fuck ups that follow from being written in C++ are mitigated.
| BirAdam wrote:
| While this is certainly true, two browsers being written by
| megacorps doesn't exactly make me eager to use the
| browsers. I would much much rather use software made by
| people who are passionate about the project than people who
| are working on something just clocking in and clocking out.
|
| For those who think Mozilla isn't about money:
|
| https://en.wikipedia.org/wiki/Mozilla_Corporation
| asddubs wrote:
| and this is a hobby project that isn't ready for real world
| usage anyway, and they're planning to port it to a memory
| safe language long term. It's not really a fair comparison,
| and it's not like this is a project with commercial
| ambitions anyway.
| [deleted]
| jcelerier wrote:
| How much is that due to clinging to old standard and legacy
| ways of doing things? If I look at my own code which tracks
| recent c++ standard quite aggressively, between c++11 and
| c++20 some parts of the code have enjoyed more than a 10x
| reduction due to the better abstractions, which definitely
| reduces the amount of bugs and development investment
| needed. I also don't remember the last time I had a memory
| leak/error that my IDE didn't show me inline to the code
| while I was typing thanks to clang-analyzer. Ladybird
| starts from these 2022 best practices - I'd wager it can
| reach its goals in muuch less time and engineering than
| it'd take chrome or FF with their (inescapable, no one
| wants to let good code go) legacy baggage, both social and
| technical
| userbinator wrote:
| I would very much use this browser for everything if I could,
| just to be different.
|
| That said, I'd prefer if they had used plain C, which is even
| more portable.
| zamadatix wrote:
| I wonder if it'll stay C++ because of momentum or switch to the
| aforementioned home grown memory safe Jakt like much of the
| rest of Serenity is expected to.
| JZerf wrote:
| This is something I want to know too. C++ certainly has some
| issues like pretty much every programming language does but
| in the original article Andreas mentions that he wants to
| make a cross-platform browser and cross-platform, portable
| applications is one of the areas where C++ can excel. If they
| end up switching to Jakt, I fear this will greatly limit the
| platforms that Ladybird can run on.
| Beyley wrote:
| Jakt transpiles to C++
| zamadatix wrote:
| Only to bootstrap the language, it's certainly not the
| plan to require that forever.
| JZerf wrote:
| That's kind of interesting that it currently transpiles
| to C++. I have a suspicion though that using C++ as an
| intermediate language will probably often result in lower
| performance, higher memory usage, make debugging more
| complicated, etc... than if it was compiled directly to a
| lower level language like assembly or LLVM IR. If I'm
| right about that, those wouldn't be very good
| characteristics for a programming language that you
| intend to make a complex web browser in.
|
| In zamadatix's reply to your message he said that C++ is
| only being used to bootstrap the language and that it's
| certainly not the plan to require C++ forever. I imagine
| if Jakt thrives, he will be right and Jakt will probably
| start compiling into a lower level language instead. If
| they do target a lower level language though, I imagine
| this will result in Jakt being less portable than C++
| which has been around much longer and is more
| established.
| heywire wrote:
| Wait until you realize how much of the bank's software is
| written in low level languages like C or C++...
| Jorengarenar wrote:
| * "lower-level" / "system-level" / "middle-level"
| dtx1 wrote:
| Which is horrible but their Software is behind a firewall at
| least and not used to execute random code Form the Internet
| all day
| Jorengarenar wrote:
| So what language do you propose they should use?
| BirAdam wrote:
| People have done web/mobile banking on Java/Dalvik and ObjC for
| years. Why would this be an exception?
|
| First, blaming a tool is lazy. While there are problems with
| C/C++ much of this is due to practices and code complexity.
| There are tools to help us humans with both of these things.
| Additionally, do you trust Cython? Why is that (or any other
| language written in C) better than C? Have you audited that
| code yourself?
|
| Second, if the developers are as diligent about testing this
| new browser as they have been with everything else they've
| done, I would trust it as much as I do Google's Chrome (where I
| don't trust Google at all) or Apple's Safari (I feel them to be
| only slightly better than Google).
|
| Third, and perhaps most importantly, if it doesn't work for you
| that is completely fine. It's not your computer or your data.
| Why denigrate the project and those who use it or work on it?
| lossolo wrote:
| Looked at one file only but isn't it out of bounds memory access
| if domain_string will have one char only?
|
| https://github.com/SerenityOS/ladybird/blob/master/CookieJar...
| Underphil wrote:
| Why post here and not a PR if you think there's a bug?
| soheil wrote:
| Firefox is great, I've been using it for the past few months. It
| required some customization, yes even to the source code to get
| it to my liking. For example you can't override CMD+P or use
| CMD+Shift+C to toggle the dev console so I had to make a patch
| [1]. I also had to develop a couple of plugins that were missing
| [2]. It's a joy to use knowing you're giving the middle finger to
| Google, your data is not tracked and stolen from you by Google
| and making the way for a more free internet. Sure sites like
| YouTube are slower to load (bc Google makes them so if not on
| Chrome?) but those are minor inconveniences and there are not a
| lot of them. So I'm very happy with Firefox and wish more people
| would tolerate a slight initial inconvenience and make the
| switch.
|
| [1] Also made a Mac OS launcher filesystem hook to auto apply the
| patch every time the browser updates.
|
| [2] Yes, I packaged and published them too.
| EbNar wrote:
| philippejara wrote:
| Happy to see new browsers appearing. Up to this day I'm still
| trying to find a good replacement for
| Conkeror(http://conkeror.org/), with little luck. webmacs was
| quite promising for a bit but it just petered off.
| forgotpwd16 wrote:
| Check Nyxt (https://nyxt.atlas.engineer/). Based on WebKit
| (actually designed to be engine agnostic but WebKit is the only
| one supported) instead of Gecko, and scripted (also developed)
| in Common Lisp rather JavaScript.
| inversetelecine wrote:
| And if you need something a bit more robust and based on up-
| to-date FF code and maintained I've been toying with
| LibreWolf (https://librewolf.net)
| lofaszvanitt wrote:
| Sigh... same trash UX/UI as every browser out there. :(
|
| Get a good UX guy to gain an edge over the current offerings.
| KeyBoardG wrote:
| You could submit some defects or documentation to the open
| project. It is 100% community driven.
| hiccuphippo wrote:
| It follows SerenityOS' philosophy of using the best ideas from
| 90s interfaces so I wouldn't expect them to make changes to the
| UI.
| mycocola wrote:
| It's frustrating to see so much nationalism in this day and age.
| DiggyJohnson wrote:
| Do you consider any instance of taking pride in your country -
| including small remarks pointing out trivial coincidences - as
| _nationalism_? Do you disagree with any example of recognizing
| the existence of a nation-state and it 's relationship to
| individuals?
|
| I tried to phrase these questions without snark, but your
| comment genuinely surprised and confused me. Maybe I'm
| misunderstanding. I do see how OP's comment is a bit
| nonsensical in light of the author's Swedish origins, but I
| don't think this justifies your invocation of a term with such
| negative connotations.
| soulofmischief wrote:
| You are correct. Pride should not be confused with
| nationalism.
| mycocola wrote:
| Pointlessly injecting a remark relating the birthday of a
| project to the "great day" of 4th of July is absolutely
| america-centric and presumptive. By extension I view it as a
| definite case of nationalism.
| hackernewds wrote:
| I think the "backlash" is more so for the presumptive and
| dismmissive America-centric view of the world
| DiggyJohnson wrote:
| > presumptive and dismissive
|
| You're injecting dismissiveness, again a word with very
| negative connotation, at a simple mistake.
|
| I would be more inclined to take your point if it wasn't a
| cheerful, good-natured attempt at humor - nothing more.
| dang wrote:
| We detached this subthread from
| https://news.ycombinator.com/item?id=32809994.
| userbinator wrote:
| There's nothing wrong with that. In fact you could say it was
| nationalism which motivated the country's greatest
| achievements.
| jmartrican wrote:
| As a web developer who has to test websites across multiple
| browsers, having to support another browser sounds expensive.
|
| While its fine to create new languages and platforms, attention
| should be paid to the costs this will have on the developers that
| have to now support the new stuff as well as the old. One example
| I bring up is Gradle. The jump from Ant to Maven was huge. Maven
| was so much better than Ant that Ant basically disappeared from
| my purview. But when Gradle came out it was not so much better
| than Maven that is caused a sea-change in the Java community. Now
| I see a split. Some projects use Maven, some use Gradle. And some
| projects post their instructions in both. I have to become an
| expert in both. And I don't see this changing any time soon. So
| now the Java community has to pay this tax going forward. Its no
| one's fault. The intentions were good by the folks who created
| Gradle or who adopted it in their project. And projects do need
| competitors to keep them motivated. I offer no solutions here,
| only gripes.
| phkahler wrote:
| >> As a web developer who has to test websites across multiple
| browsers, having to support another browser sounds expensive.
|
| The problem is testing M browsers against N web sites - M*N
| complexity with M tests being done by each website. It should
| be M browsers tested against a single conformance test, and
| some means of testing N websites against a conformance test.
| The web browsers compatibility should not be your problem. Once
| people start accommodating non-conformists there is NO
| incentive for them to conform.
| iopq wrote:
| This is the biggest failure of the web as a platform. If it
| was extremely strict to begin with, like "display error and
| nothing else when website is broken" then people would
| actually care about standards
| 867-5309 wrote:
| this implies we should still be using the web like we did
| in the 90s. evolution happens in stages and is never
| perfect nor free from error
| iopq wrote:
| But web browsers are big and bloated because they have to
| render older websites too, like government websites that
| haven't been updated since the 90s
| londons_explore wrote:
| Webkit/Blink has a really extensive test suite for the HTML
| rendering parts...
|
| I wonder if that test suite could be run on LibWeb to give a good
| target for all those test-driven-development developers to target
| their efforts towards...?
|
| As a side effect, multiple browser engines sharing test suites
| might help make the web more compatible...
| manaman wrote:
| vouaobrasil wrote:
| I would be happy to use a new browser as long as it supports ad
| blocking.
| aeyes wrote:
| It does, here is an old video of Andreas building it:
| https://www.youtube.com/watch?v=Jc22wPqpaBQ
|
| The standard Serenity install even comes with a basic filter
| list:
| https://github.com/SerenityOS/serenity/blob/master/Base/home...
| mhd wrote:
| What's the minimum Clang for this? I've been playing around with
| old versions of MacOS recently and most of the "Let's keep some
| old version of Firefox alive" projects are failing or bound to.
| Sooner or later this might be a good alternative.
| JZerf wrote:
| I believe this relies on quite a few of the libraries in
| SerenityOS and according to one of the lines [1] in one of the
| build scripts for that it looks like Clang 13 will be required
| as a bare minimum. The Serenity project is also using the
| fairly recent C++20 standard according to their contributing
| document [2] and they additionally are working on a new
| programming language of their own called Jakt which I imagine
| will become a requirement in the future. For the time being, it
| looks like this will make it harder to support older
| environments which is a bit unfortunate because their browser
| project does look really interesting.
|
| [1]
| https://github.com/SerenityOS/serenity/blob/master/Meta/sere...
|
| [2]
| https://github.com/SerenityOS/serenity/blob/master/CONTRIBUT...
| c-smile wrote:
| Interesting, from libHTML: class Node {
| Vector<Node*> m_children; Node* m_next_sibling {
| nullptr }; Node* m_previous_sibling { nullptr };
| }
|
| Either m_children or m_next_sibling/m_previous_sibling are
| clearly superfluous.
|
| m_children + m_parent are enough for tree representation.
| ameixaseca wrote:
| Unless sibling is sideways (same level of the tree) and
| children is downward (one level closer to the leaves).
|
| I haven't looked at the code but that's my first impression
| given the nomenclature.
| c-smile wrote:
| No, you didn't get it.
|
| You may have children accounted as DL list and so each Node
| should have m_next / m_previous node references. + Parent
| node to have m_first_child reference (if list is circular). +
| m_parent (Node _) reference.
|
| So you need 4 pointers per each non-terminal node. Or 3
| pointers for terminals.
|
| Otherwise (vector of children):
|
| You need only m_parent (Node_) reference in terminals. And in
| container nodes additional vector<NodePtr> m_children; to
| store child references.
| eb2 wrote:
| You don't need parent because you can use a breadcrumb
| stack to track parents.
|
| You want sibling nodes otherwise you will have to traverse
| back to the root node sometimes to find a sibling.
| c-smile wrote:
| > You don't need parent
|
| You do need parent, check this:
| https://developer.mozilla.org/en-
| US/docs/Web/API/Node/parent...
|
| > You want sibling nodes otherwise you will have to
| traverse back to the root node sometimes to find a
| sibling.
|
| The only need for this is in Node.nextSibling
| implementation: https://developer.mozilla.org/en-
| US/docs/Web/API/Node/nextSi...
|
| Where vector<>::find is pretty sufficient.
|
| But in reality (at least in my Sciter) node stores its
| index in parent's m_children so it is O(1) operation.
| xigoi wrote:
| How about the + operator in CSS?
| c-smile wrote:
| And what is wrong with it?
|
| and ~ combinator and :nth-child(n) selector for that
| matter too.
| xigoi wrote:
| I'm responding to the claim that you only need the
| ability to find a sibling for the nextSibling method.
| Ygg2 wrote:
| You usually keep next/previous sibling to speed up iteration
|
| See: http://aosabook.org/en/posa/parsing-xml-at-the-speed-of-
| ligh...
| c-smile wrote:
| You can store index of the node in parent m_children
| collection.
|
| Iteration on array is faster (cache locality) than DL list
| traversal. And there are issues when you traverse tree while
| changing it.
|
| In any case I've found that storing child nodes as m_children
| collection is more convenient in many cases. At least in
| Sciter (https://sciter.com). struct node {
| weak_ref<element> m_parent; uint
| m_node_index; } struct element : node {
| vector<ref<node>> m_children; // strict ownership, sic!
| }
| gigel82 wrote:
| It's interesting to see Windows in the list of platforms to be
| supported.
|
| LibJS itself was very interesting, but unfortunately it depends
| on a bunch of other Serenity libraries (AK, LibCore, etc.) which
| in turn heavily depend on POSIX.
|
| I'm curious if that means they want to make LibWeb / LibJS
| actually portable C++ code and how they plan on achieving that
| (hopefully without introducing a POSIX compatibility layer on
| win32 like msys or whatever).
| niutech wrote:
| Theoretically it should be possible to build Ladybird for
| Windows using Cygwin. For now, you can run an AppImage in WSL:
| https://github.com/SerenityOS/ladybird/issues/33#issuecommen...
| myfonj wrote:
| FAQ in there [1] states "Windows (WSL)" with no mention about
| plans for native Windows build.
|
| [1] https://awesomekling.github.io/Ladybird-a-new-cross-
| platform...
| gigel82 wrote:
| That's just confusing, they shouldn't include Windows at all.
| WSL is a virtual machine running a Linux kernel.
|
| It's akin to saying Microsoft Office runs on Linux; you just
| need to set up a VM running a Windows kernel first :)
| webprofusion wrote:
| Yes it's confusing and running on WSL isn't really the same
| as running on Windows.
|
| I've just tried it, and it's early days- there are hundreds
| of thousands of edge cases to consider just to get it
| really "working" on linux, so it's no easy task. On the
| other hand , implementing a posix compatibility layer for
| Windows for just the things you need to support in the
| browser is _relatively_ easy.
| Henrywright23 wrote:
| bumblebritches5 wrote:
| webmobdev wrote:
| Let's hope this gains some momentum. Also see http://www.netsurf-
| browser.org/ - another neat project working to create their own
| browser engine that has made good progress.
| ainar-g wrote:
| To those who want to try NetSurf on Ubuntu, I recommend
| installing from Flatpak. The default Ubuntu package seems to be
| broken on HTTPS sites; or at least was when I checked it the
| last time.
| euclaise wrote:
| I use netsurf on my Sony Vaio P, it's the best it can run
| anthk wrote:
| http://links.twibright.com/
| svnpenn wrote:
| I am excited for this. However note, builds are not available for
| Windows, and it is not currently possible to even compile for
| Windows:
|
| https://github.com/SerenityOS/ladybird/issues/33
| [deleted]
| [deleted]
| zzo38computer wrote:
| Maybe now they can make a better web browser, hopefully. I would
| have chosen to design some things a bit differently, including a
| better separation of parts that can avoid binding too closely (to
| make it more possible to customize it in programs that use these
| libraries), if it does not already do (I do not know how closely
| they already are; I haven't read all of it). I would also put the
| protocol interface separate from the implementation (so that
| other protocols can more easily be added). (I also would have
| preferred C instead of C++, but C++ might also do OK, anyways.)
|
| Also should be helpful that independent programs can be written
| which combine them and use them in their own ways, e.g. to change
| the connections between components, to deliberately exclude some
| features, and/or to add new protocols and URI schemes and file
| formats and JavaScript functions and HTML commands and CSS
| commands (I have idea how to do by "meta-CSS", which is a feature
| to be used purely by the end user (document authors cannot use
| it)) and character encodings and audio/video codecs and other
| features, and/or changing some features. (I would hope to be able
| to write such extensions/programs in C, instead of having to use
| JavaScript.)
|
| I also would have designed that it avoids converting to/from
| Unicode if possible, preferring to work in the text encoding
| directly, and using fonts of those encodings directly, when
| possible, and using Unicode as a fallback when needed or if there
| aren't fonts, etc available for the specific encoding already
| used. (This is to work around many problematic features of
| Unicode.)
|
| User options are also needed. For example, there should be an
| option to disable MIME sniffing if the user does not want it.
| (One way to support this and other options is to implement a
| "header overriding" menu that the end user can configure (both
| request headers and response headers); this can be used to
| implement many options that the end user can configure, including
| (but not necessarily limited to): DNT, language, cookies, HSTS,
| etc.) Also, a better implementation would not try to hide things
| from the user or believe they know better than what the user has
| specified.
|
| I also think that some parts of the W3C specification aren't so
| good and need to work around that somehow, in some cases.
|
| Nevertheless it seem a good idea that they can make a new one in
| order hopefully is better than the other one (which, in time, we
| may be able to see).
| taf2 wrote:
| This is pretty exciting time as we enter into the 3rd phase of
| browser development. It seems like there are some very
| interesting paths forward. Arc - via the Browser Company - looks
| very promising. Brave is an interesting concept to browser the
| web through another persons servers... There's a lot of ideas and
| one of these will no doubt become the next Chrome.
| wraptile wrote:
| I'm afraid the web is too far gone for new browsers. I'm already
| struggling to get through captchas on a Linux machine and if I
| roll a non-chrome based browser then I essentially end up solving
| 2-3 captchas every few pages. TLS and Javascript fingerprinting
| is making so only privilidged few can browser the web without
| giving away hours of free labor.
| jeroenhd wrote:
| My experience running Ladybird has been that websites generally
| tend to work fine, even on Cloudflare. Only though shady VPNs
| and TOR do I really get bothered by captchas.
| oxmane wrote:
| Kling's story in general, and this in particular chapter, is
| truly inspiring.
|
| This led me to think that I'm not sure inspiring of what, and so
| made me think of whether a sense of inspiration must always be to
| do something, or if is it sometimes just a feeling (like being
| sad, happy, angry).
|
| Sorry for the somewhat off-topic thread.
| yummybear wrote:
| I wonder, and this is speaking from virtually no experience in
| the area, if it would be possibly to use machine learning to
| infer all the myriads of layout rules (etc.), instead of actually
| writing to spec
| neongreen wrote:
| There was a paper on HN recently about auto-inferring semantics
| of x86 instructions -- although it used an SMT solver (I think)
| rather than ML.
|
| https://cs.stanford.edu/people/eschkufz/docs/pldi_16.pdf
| asddubs wrote:
| if you want to completely give up any agency over actually
| being able to fix concrete rendering problems
| davidatbu wrote:
| I'm fairly familiar with ML, and I'd say that's a definitive
| no.
|
| Implementing a layout spec is exactly the kind of thing that is
| "easy for computers, hard for humans". ML is for things that
| are "hard for computers, easy for humans" (like, telling dogs
| apart from cats, or transcribing speech, etc).
| eigenvalue wrote:
| You could probably get something that would work pretty well
| for most common things but wouldn't have the same behavior in
| more complex edge cases.
| davidatbu wrote:
| I'd bet even that would be only with a some or all of (1) a
| LOT of training data, (2) a LOT of preprocessing, and (3)
| using less famous architectures (perhaps recursive neural
| nets).
|
| I say so because (among other reasons) in general, current
| popular ML architectures (like transformers) count
| _processing heirarchical data_ as one of their weaknesses.
| For example, there 's a theoretical paper proving that self
| attention blocks (which are central to transformers) cannot
| solve arbitrarily nested negation(Ie, resolve
| not(not(not(true))) to true). Practically as well, we see
| most times that language models have trouble dealing with
| naturally occurring double negation in language, etc. But
| CSS/HTML is, I think, very heirarchical.
| NaturalPhallacy wrote:
| My favorite example is differentiating between blueberry
| muffins and chihuahuas. :)
| rafram wrote:
| No
___________________________________________________________________
(page generated 2022-09-13 23:02 UTC)