It looks as if I might be getting a slight flu, which is something I definitely wasn't looking forward to. Let's see how it goes tomorrow after a good night's rest :blobpats:

On the Edge team, we had a *whole team* dedicated to finding compat bugs, reducing them, and reaching out to site owners with fixes. Sometimes we would reach out to a site owner and they'd say, "Sorry, you don't have enough market share for us to bother fixing this bug."

This is where we get -webkit prefixed CSS in the standard, as well as de-facto standards and "works best in Chrome." This is why both Opera and Edge switched to Chromium.

If you really want to help Firefox succeed, file a bug on when you find a broken website. Don't just switch back to Chrome; let Mozilla know there's a problem so they can try to fix it.

When browsers lose market share, they fall into the "compatibility death spiral." Sites don't bother to test, they break, and users flee to the browser that "just works." Mozilla is fighting this battle every day, and it just got harder.

my company (MNT) is looking for office/production space in berlin, around 50sqm. preferably kreuzberg or mitte. we’ll be working on open (libre) hardware and software with a team of three. if you hear sth, please write to 🙏

"Contributing to WebKit for a more predictable web platform" – AMP Project

This is actually pretty nice to see. The non-standard scroll behavior in iOS Safari has been particularly pain for me; it's great to see it getting fixed.

Cool fact about Linux: I can still test three different browser engines: Blink (via Chrome), Gecko (via Firefox), and WebKit (via Epiphany Browser). There are subtle differences between Epiphany and Safari (no Web Payments, no Service Worker, no -webkit-backdrop-filter, etc.) but it's pretty close.

That's pretty good desktop coverage, and I can debug Chrome and Firefox on Android using ADB, as well as Safari on iOS using Linux is not bad for web development.

When the history of the web is written, let the record show that I was against this decision and it's part of the reason I left Microsoft. I didn't join the Edge team to help cement Google's dominance of the web.

Hello new friends ✨I'm maruki and I'm making ▮Aftertile▮, an action-adventure about a ghost who helps other ghosts
in my patreon you can help the project, get exclusive wips, sketches and even become a character in the game

Today I have been reminded of that one time when I was allowed to sneak a plain C style cast in the code base because C++ is dumb at times, and always full of pitfalls:

One of the astounding luxuries of being alive right now is high quality audio equipment is affordable and there is a limitless amount of music available. And no, you don't need it all in vinyl unless you are into that. Good quality digital audio is on every scientific metric relevant to humans the best quality.

This is a case of capitalism solving a problem and than completely ruining the solution because once capitalism solves a problem it has no way to grow more than to ruin the solution.

Nevertheless, I haven't yet finished the programs for day 3 of the but on my defense I can say that now I know how to use a language feature (record types) which so far I had not touched in other functional languages that I know (OCaml, some Haskell, and so).

Scheme feels like one *really* needs to master the standard library and the language conventions to really become fluent in it. Has somebody else had the same impression with like languages?

So, I've managed to get the parser combinators from the “(chibi parse)” module to work. I quite don't get it why giving an identifier to the grammar when later it is not used, and what gets referenced to start parsing is one of the functions that implement parsing a non-terminal... but it works and there is a nice “parse-fold” function which applies a parsing function over the input, possibly accumulating it e.g. into a set of records. Also: today I also figured how to use “define-record-type”!

Today in development: I got the content extensions support building for the WebKit port as well, still looking into the release assertion that is hit during evaluation of the extension's bytecode — and learning about how this works internally at the same time, it's being a fun ride :blobpats:

Today's is postponed until the evening, as it seems I have some fires to put off at work. Today I'm trying to use Chibi Scheme's parser combinators module to read the input, because it can no longer be read as a stream of plain Scheme values — which was great to avoid parsing. More later!

For the record: day one done, both problems. It took me a bit to arrive to this gem to read *and* parse a stream of integers coming from standard input:

(chibi io)
(scheme read))

(define values
(port->list read (current-input-port)))

This is pretty cool, and turned the solution for the first problem into a one-liner if we don't count the imports.

Well, in an unexpected turn of events, in the end I am doing this year's using Chibi Scheme instead of Rust like last year. In one hand, practicing a bit more of Rust would have been neat, on the other hand I've started re-reading the Structure and Interpretation of Computer Programs book some weeks ago when I found out that it is now available online and some “lispy” language seems just appropriate :thinkhappy:

Even when I have been a long-time user, lately I have been trying other alternative shells, and has basically all I need.

Maybe the only thing that I may miss a bit is having a readily-available ecosystem (with e.g. plugins, a community, etc) and ZLE widgets. But something very lovable about Yash is how compact and clean the codebase is, which makes it very hackable, so maybe some small things can be future contributions 👷

Oh, and the author seems like a nice person :blobaww:

My random contribution made during this week's spare time has been a small setting for the shell which allows toggling whether empty input lines show predictions from the auto-suggestion system:

Germans *do* take their Christmas market business seriously... 🎅

Show more

Follow friends and discover new ones. Publish anything you want: links, pictures, text, video. This server is run by the main developers of the Mastodon project. Everyone is welcome as long as you follow our code of conduct!