[HN Gopher] Ladybird: A new cross-platform browser project ___________________________________________________________________ Ladybird: A new cross-platform browser project Author : eatonphil Score : 971 points Date : 2022-09-12 12:26 UTC (10 hours 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/... | 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? | 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. | 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. | 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. | 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 | 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. | 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. | 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. | 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. | 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. | 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] | 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. | 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: | Lol | 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. | 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. | 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) | 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. | 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. | olliej wrote: | what's the failure? I _think_ some stuff got changed in spec | land which makes acid2 no longer "correct" | 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/ | 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. | 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 | 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? | 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. | 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. | 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). | 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? | 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. | 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 | 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)... | 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++ | sph wrote: | To be fair Qt is just to create the window on Linux, but | all the browser internals are their own. | 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. | 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. | 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 | 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: | I called out Servo for being 100% bullshit some time ago and | people got mad because I proved they never had any intention of | building embedded web software. | | It was just a bunch of people who wanted to work on web | technologies in Rust. | | My demonstration was that in 5 minutes, with a cursory read of | their documentation, as well as reviewing the structure of | their software showed that there were zero integration points | for users to embed Servo into existing host software. | | I don't know what they _wanted_ to do, but it was demonstrably | a lie, and their actions showed they had other priorities other | than what they claimed. | 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: | Criticizing anything Rust isn't allowed here. If Servo is | sitting idle and deprecating on github, then it's Mozilla's | failure of vision; it can't possibly be Rust code that isn't | all that useful. If Moz is getting rid of the PR time bomb | that is the Rust core team (seriously, read it up!) then Moz | is at fault for letting go their most strategic staff lol. If | I'm pointing out here that the priorities of the Servo team | isn't so much building a browser but promoting Rust the | language (with the hope of lucrative lectures, team lead | positions, or AWS funding), then the issue is discussed away | to death. If I'm asking what Rust is actually good at (b/c it | was introduced as "system language" but most text book algo | it can't handle due to borrowing, runtimes of dynamic | languages neither isn't its forte for the same reason, async | service backends neither b/c bad async story and | fragmentation), the points are diluted and brushed away. | 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. | 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. | 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 | Melatonic wrote: | Hell. Yeah. Screw the naysayers. This is awesome! | hulitu wrote: | Grey on black. Some people never learn. | 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! | 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). | 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 | 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++ | 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? | 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. | 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 | 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 | 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... | 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. | 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... | 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). | 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... | 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 | 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 | 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. | 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. | NaturalPhallacy wrote: | My favorite example is differentiating between blueberry | muffins and chihuahuas. :) | rafram wrote: | No ___________________________________________________________________ (page generated 2022-09-12 23:00 UTC)