Lovell Fuller

@lovell
233 Followers
291 Following
140 Posts

Internet Technologist based in London, UK

All content is licensed under CC BY-NC-SA 4.0

Websitehttps://lovell.info
GitHubhttps://github.com/lovell
...and another cloned/fake profile appeared today, now suspended. Thank you if you reported it as such.

A huge thank you to everyone that has donated money to help maintain the open source image processing software libvips.

For those who work at companies that support open source software via GitHub Sponsors, you can now do so at https://github.com/sponsors/libvips

This is linked to the existing @opencollective at https://opencollective.com/libvips that we'll continue to use to help support the libvips ecosystem, both upstream and downstream.

Someone has created an imposter account pretending to be me. I won't link to it, but it uses my first name and the first 4 letters of my surname.

I've blocked and reported it. Please don't follow it.

/cc @grifferz @hasanhaja

The maintainers of the Node.js `prebuild` and `prebuild-install` packages, with over 10 million downloads each week, are planning to deprecate them shortly.

This is likely to impact a few other popular packages that depend upon them, including a couple of third party packages that wrap SQLite.

https://github.com/prebuild/prebuild-install/issues/216

Is this still maintained? · Issue #216 · prebuild/prebuild-install

Hi, is this still maintained? I noticed that there are open PRs for a potentially vulnerable dependency, (see first comment, this is a non-issue) as well as no commits in 10 months.

GitHub

@swithinbank Re: "detect if an image is really *using* its alpha channel", this feature is available via:

const { isOpaque } = await sharp(input).stats()

https://sharp.pixelplumbing.com/api-input/#stats

Input metadata

High performance Node.js image processing. The fastest module to resize JPEG, PNG, WebP and TIFF images.

sharp
@swithinbank Love it, thanks for the shout, I don't think I've seen this many dithering kernels all together in the same place as the same time. We briefly considered adding something similar (but smaller scale) into libvips a few years ago - see https://github.com/jcupitt/vips-dither - let me know if it gets popular and we can revisit.
GitHub - jcupitt/vips-dither: 4x4 ordered dither

4x4 ordered dither. Contribute to jcupitt/vips-dither development by creating an account on GitHub.

GitHub

@eeeps @jaffathecake Yes, there's no sign of libjxl's multi-threaded API in WebKit https://github.com/WebKit/WebKit/blob/main/Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp

Other performance-related factors here might be that the current WebKit logic first fully decodes a JPEG-XL image into memory then copies the entire thing pixel-by-pixel into another bit of memory then, because of the embedded ICC profile, hands over to lcms to convert pixel values.

WebKit/Source/WebCore/platform/image-decoders/jpegxl/JPEGXLImageDecoder.cpp at main · WebKit/WebKit

Home of the WebKit project, the browser engine used by Safari, Mail, App Store and many other applications on macOS, iOS and Linux. - WebKit/WebKit

GitHub

If you need to parse untrusted Content-Type headers in high performance TypeScript or JavaScript code then you may be interested in my old 2013-era media-type package, which has now been brought up to date for modern use and the latest 2025 RFC9694 guidelines.

https://www.npmjs.com/package/media-type

It can now safely parse and format Media Types ~50% faster than runtime-provided MIMEType classes and is a drop-in replacement, complete with TypeScript declarations and dual ESM/CommonJS exports.

media-type

Parse and validate RFC6838/RFC9694 media types, anything from 'text/plain' to 'application/vnd.company.app.entity-v2+xml;charset=utf8'. Latest version: 1.0.0, last published: 17 hours ago. Start using media-type in your project by running `npm i media-type`. There are 31 other projects in the npm registry using media-type.

npm
@jaffathecake As of August 2024 WebKit/Safari delegates AVIF decoding to the underlying Image I/O Framework but I'm unsure for which processors this might be hardware accelerated yet, if any. https://bugs.webkit.org/show_bug.cgi?id=277578
277578 – Remove the libavif project

WebKit Bugzilla
@jaffathecake Great, thank you, I'll take a closer look at those later. My understanding is that most ARM-based Apple devices released in the last 2-3 years support hardware decoding of AV1 whereas JXL decoding will be software-only (and will remain so for a while I suspect).