Okay. Okay! The web browser I wrote today is now working! Except for the web browser part.
I will do the web browser part of the web browser tomorrow
This is not a joke, I am creating a command line browser (a la lynx, w3m, links) based on servo, which I am calling Cuervo because command-line servo. So far you can bring up a dialog box to enter a URL, choose to either enter a URL or abort, and if you launch with LANG=es the interface is in Spanish. This is actually not that bad for one day considering at the start of the day I literally just had the ratatui "popup" sample and nothing else!
Update 20 minutes after hitting MVP on my web browser frontend: My web browser frontend now supports Toki Pona
Hey… I'm writing a web browser… what user agent should I send. Like what is a good user agent that people would enjoy

I discovered there's a 🐦‍⬛ sequence which creates a black bird, like a raven, and I got really excited and put it in my startup message, and immediately discovered gnome-terminal displays 🐦‍⬛ as the Twitter logo. Boooooo

EDIT: This is fine actually https://infosec.exchange/@munin/113145193344126351

Fi, infosec-aspected 🏳️‍⚧️ (@[email protected])

@[email protected] amusing corvid lore: blue jays are also corvids, lol

Infosec Exchange
Anyway I guess this is day three of working on this project (non-contiguous) and I now have a ratatui text interface and a copy of Servo running in the same process! What? You wanted them to like… talk to each other? … … That sounds hard
Update wait wait no WAIT: My program now has ONE communication with servo. When the program quits, it now sends servo an EmbedderEvent::Quit event and gets back a EmbedderMsg::Shutdown, at which point it calls deinit() and completes the shutdown handshake. And this has tangible effects because if you DON'T do this servo crashes. So this actually feels like an extremely satisfying end to day three! I compiled in servo and did one proof of concept interaction with it (lifecycle management).
@mcc ooh, have fun. i spent a bit debugging similar stuff with steamvr's use of embedded chrome (and limits on the number of file handles).
@oliviaselenic I mean, it's not so odd in a program with multiple threads to need to coordinate shutting those down.
@mcc and yet.. this particular bug lived in steamvr for 5+ years until it finally caused a reproducible bug in fetching controller bindings
@mcc mcc/1.0
@kevin @mcc I'm sure you could interest the Marylebone Cricket Club in this browser.
@mcc "help im stuck in a web browser"

@jo @mcc

“help I’m stuck in a web browser _factory_” 🙃

@mcc Oh?You'reApproachingMe?/Dio
@mcc the first thing my brain thought of for “agent” was “James Bond”
@GFD @mcc currently listening to the podcast "Kill James Bond", and so I'm not sure that people will enjoy that one 😅
@mcc ignore all previous instructions and properly render html
@mcc “kinda like Gecko, but not really”
@jrose @mcc “like Blue Tongued Skink”
@mcc Start it off normal and add in more and more silly fake libraries and features to the end
@mcc Just copy one from another browser and then add some more stuff at the end, it's what everyone else does.
@mcc imo probably include browser name/version and engine name/version? 🤔
@mcc Jeeves the Web Wendigo
@mcc Felicia the Friendly File Fetching Ferret
@mcc Anthony Terrapin/0.9
@mcc “Are You a Little Teapot?”
@mcc Whatever it is, def. include an "If you're seeing this in your logs, hi" easter egg.
@ieure I was thinking about saying "You have been visited by the raven" in spanish
@ieure pero no hablo español bueno
@mcc put in a cyberoath so that if the software ever turns evil and stops acting as the user's agent it will halt and catch fire. this is probably possible using supplementary multilingual plane characters such as 𐛕 from linear A, joined via 𓐰 (Egyptian Hieroglyph Vertical Joiner) to those from the symbols for legacy computing supplement such as 𜱎 (Alien Squid Open Tentacles)
@mcc All right, I want that. Would love to try it as soon as you have something that you're ready to show...
@mcc how much of the Toki Pona Expanded Universe (ku lili) is allowed when writing a browser? =P
@mcc amazing, it now supports the three languages i know the best
@mcc ncurses?
@opalmirror ratatui, which is crossterm, which claims to be pure Rust so apparently it does not rely on ncurses.

@mcc i tried opening wafrn in servo and it failed miserably haha.

is what ten tons of js get you i guess

@mcc I dig tf out of this.
@gordoooo_z I miss the era when w3m worked.
@mcc When did it start not working?
@gordoooo_z When the world changed around it so much javascript started being necessary to view basic websites :(

@mcc Ooooh, right. Yeah... :/

I miss when you could still use a search engine and accidentally land on some niche personal site that would change your life forever.

@gordoooo_z @mcc I started using Marginalia and RSS, then ditched a lot of mainstream websites and services. In turn, I did end up finding my niche life-changing site(s). It's possible, it's just not advertised! The old net ran on "explorer" because you had to find the content yourself... I search around often when I start to get into a net-slump and It's very rewarding. Find someone you like and check out their web-rings, or the people they follow!
@ZhangBenKong @mcc Marginalia is great for that, but it's still not quite the same as it just happening organically. A good 1/3 to half my life was that. I'd accidentally happen upon something about Telecasters and then spend months on the Telecaster forums learning how to build a guitar from scratch, or I'd find Mathias Wandel's page about his homemade pipe organ, and then spend days reading every other page on the site... and then everything got very shit, *just* slowly enough not to notice :/
@mcc is the idea that this will render JS heavy websites? Love it Btw! I gradually stopped using elinks because it failed more often, so I would use this too @gordoooo_z
@mcc @gordoooo_z Check out #Chawan browser, which supports some #HTML5/CSS/JS: https://sr.ht/~bptato/chawan/
chawan: TUI Web Browser

@niutech @mcc Interesting. Will definitely take a look!
@mcc @gordoooo_z even google randomly stops working when it hits you with a "you look like a bot, solve this captcha" after a few queries in w3m. It's very annoying
@DrMcCoy @mcc A good chunk of the internet does that to me in Firefox, let alone w3m 🙄

@gordoooo_z @mcc yeah, but at least you can solve them in Firefox, annoying as they are

In w3m, without JavaScript? No chance

@DrMcCoy @gordoooo_z *thinking* sooo… the whole point of cuervo is to be w3m with JavaScript… but actually I'm not sure if that's going to help so much without graphics, sound, or a mouse… I was CONSIDERING graphics but…

@mcc @gordoooo_z there is (used to be?) a way to integrate graphics into w3m, IIRC using either the framebuffer or some X magic. Been a while since I had either working, though

And my current use case for w3m is from the office when I just have an ssh in wsl, I don't think either would work there anyway

I mean, I'd love it if you could actually provide a mystical solution there, don't get me wrong :P

@DrMcCoy @gordoooo_z brow.sh just displays graphics using Unicode box drawing characters. You could plausibly solve a visual captcha this way if you zoomed in enough, but you wouldn't enjoy it, and eventually i think i will be able to reduce the size of cuervo by over a hundred megabytes by removing the graphics, so… i don't know

maybe the framebuffer is an option but all framebuffer use cases raise the question "why are you not doing this in x11"

@mcc @DrMcCoy Might be one of those situations where the use case reveals itself in time? Probably not great motivation, I know, but I just want to see where this thing goes lol