Drop #488 (2024-06-27): “No, Thanks. I’m Just Browsing.”

Console-ation Prizes; On Stochastic Parrots With Webviews; Ladybird

We’re digging deep into the browser mines today to find some gems (and, perhaps, a grue or two). And, the TL;DR section didn’t make a ton of sense to include today, hence the lack of one.


Console-ation Prizes

There was a fun and informative post on dev.to the other day regarding the use of console.log and showing some spiffy alternatives. dev[.]to/alishgiri/say-no-to-consolelog-556n will get you there, but I’m loathe to make a direct link to them given their terrible marketing practices which caused me to delete all my content from the site and delete my account. Since the business practices of the site are not Alish Giri’s fault, please hit up that link manually (with apologies for making you copy, paste, and delete two characters to do so).

Giri covered:

  • console.dir (for hierarchical listing of arrays and objects)
  • console.tabl (for rows and columns listing of arrays)
  • console.group & console.groupEnd (to keep associated debug output together in a tree view)
  • console.time & console.timeEnd (which lets us do crude benchmarking)
  • console.clear (does what it says on the tin)

Of course MDN has all the deets on what you can do with console that should be available across all browsers. Some browsers have added some extra functinality.

For instance, in Safari, you can use console.screenshot() to capture the current page or specific element and see it in the console (you can save it from there, too). console.record is a way to programmatically start a new canvas recording for a given target with optional configuration options. There are a few more Safari-specific options and more documentation for the standard ones in their docs.

In Chromium browsers, console.memory gives us jsHeapSizeLimittotalJSHeapSize, and usedJSHeapSize.

Folks who use Firefox are on your own to spelunk what might be availble there since I won’t pollute my systems with Mozilla kit. Be careful. There’s probably a console.crypto which will cause your browser to mine bitcoin to pay for Mozilla execs egregious salaries.

(Also, Lord Hobo makes some excellent brews besides the infrequently appearing one in the section header.)

On Stochastic Parrots With Webviews

I missed this back in February, but Vivaldi — the privacy-focused web browser — has taken a strong stance against integrating Large Language Model (LLM) functionality into their product. And, they did a spiffy job outlining several key arguments for this decision.

Firstly, Vivaldi argues that LLMs are essentially “confident-sounding lying machines” that have a tendency to produce misinformation. They point out that these models are trained on vast amounts of internet data, much of which is unreliable or inaccurate. As a result, LLMs can generate plausible-sounding but false information, which Vivaldi sees as a significant risk to users.

Secondly, the browser company raises concerns about privacy and copyright issues associated with LLMs. They note that these models often incorporate copyrighted material and potentially sensitive personal information into their training data, which can lead to plagiarism and privacy breaches when the models generate outputs. Vivaldi emphasizes their commitment to user privacy and sees the potential for LLMs to compromise this as unacceptable.

Conversely, Apple is going “all in” on AI (AI on AI?) with some of the following planned features:

  • Intelligent Search: This is an AI-powered browser assistant tool that will use Apple’s on-device AI technology to identify key topics and phrases on webpages for summarization purposes. It will allow users to get concise summaries of web content without having to read through long articles
  • Web Eraser: This feature will allow users to remove unwanted sections of webpages, such as ads or distracting content. The erasures will be persistent, meaning Safari will remember and apply these changes even when revisiting the site later
  • Highlights: This feature will provide automated summaries of web pages, including key information like directions, TV show details, or travel information
  • Reader Module: A “distraction-free” browsing experience in a sidebar that shows a summary and table of contents for long documents or web pages
  • Integration with ChatGPT: Apple is reportedly partnering with OpenAI to integrate ChatGPT capabilities into Safari and system-wide writing tools
  • Visual Search: Although not specifically for Safari, Apple is said to be working on an advanced visual search feature that could allow users to get information about products by browsing through images

I care not what Google-proper is doing with AI in the browser since nobody should use Chrome or Ungoogled Chromium directly from Google. If you do, you get what you deserve.

Mozilla has, of course, embraced AI as well, and you can peruse their plans and current opt-in AI features if you are still buying that they care about your privacy and safety.

Arc — the browser I still use daily — has “Arc Max” that have the following features (which I have disabled):

  • Ask on Page: Folks can hold down Command + F on any webpage to ask a question, and Max will answer it using the page’s content
  • 5 Second Previews: By hovering over a link and pressing Shift, folks can generate a quick summary and preview of the webpage without clicking on it
  • Ask ChatGPT: Folks can access ChatGPT directly from Arc’s Command Bar by typing “ChatGPT” and hitting Tab. This feature requires a ChatGPT account
  • Tidy Tab Titles: When a tab is pinned, Arc automatically renames them with clearer, more concise titles
  • Tidy Downloads: Arc uses AI to rename downloaded files with more descriptive and organized names

I found them all annoying and unhelpful.

There are plugins you can load into various browsers to give apps/services like Perplexity, Raycast, and ChatGPT access to the contents of the active tab. They’ve not been super-helfpul for me, but YMMV. Pieces (something we’ll cover, soon), however, also has one that is focused on developers and is definitely worth checking out (provided you also check out Pieces).

It’ll be interesting to check out what AI features are removed from the various browsers over the coming 18-24 months (as the AI bubble bursts).

Ladybird

I finally got Ladybird — a new contender in the HTML/CSS/JS-rendering engine/browser space — to build cleanly on macOS the other day (it may have been in good shape for a while — I only recently tried it again). It likely started working better after the full fork from the OS it used to be tethered to.

The section header is Ladybird browsing ground.news. I picked that not for political reasons, but because it uses a metric ton of javascript and some sub-optimal rendering choices, and wanted to note that it did — in fact — work in Ladybird.

The JavaScript engine (LibJS) is slow (that may be due, in part, to the way I built it), and LibWeb rendering is hit and miss on other sites I’ve tried. But, it has all the pieces to help make it a contender:

  • LibWeb: Web rendering engine
  • LibJS: JavaScript engine
  • LibWasm: WebAssembly implementation
  • LibCrypto/LibTLS: Cryptography primitives and Transport Layer Security
  • LibHTTP: HTTP/1.1 client
  • LibGfx: 2D Graphics Library, Image Decoding and Rendering
  • LibArchive: Archive file format support
  • LibUnicode: Unicode and locale support
  • LibAudio, LibMedia: Audio and video playback
  • LibCore: Event loop, OS abstraction layer
  • LibIPC: Inter-process communication

The build instructions worked without fail for me on macOS 15 beta 2.

I’ll be keeping Ladybird around, checking on and building updates, and providing feedback to the devs. I suggest others who also want a proper alternative to the browser Hades we are in do so as well.

FIN

Remember, you can follow and interact with the full text of The Daily Drop’s free posts on Mastodon via @dailydrop.hrbrmstr.dev@dailydrop.hrbrmstr.dev ☮️

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.