Urgent.News

What's breaking now, across thousands of outlets.

Tech

Building a Browser-Only Image Compressor: What We Actually Measured

Building a Browser-Only Image Compressor: What We Actually Measured Most "online image compressor" pages upload your file, compress it on a server, and hand back a download link. That works, but it costs you two things: your file leaves your machine, and the result depends on someone else's queue depth. We wanted the opposite: the pixels never leave the browser. Here is what that looks like in…

The article discusses the creation of a browser-only image compressor that performs image compression without uploading files to a server. This approach addresses privacy concerns and eliminates the dependency on server queues. The compressor uses WebAssembly-based encoders and Canvas for pixel work, supporting various formats such as PNG, JPEG, WebP, AVIF, and GIF.

The author tested the compressor on five representative images, measuring the original size, lossless compression, quantized compression, and WebP format size. The results showed that the compressor can save up to 96.6% for full-color PNGs and 76.2% for JPEGs. The author concludes that the gain depends on the routing method rather than the tool itself, and format flexibility can significantly improve compression results.

However, large images are limited by the device's capabilities, and the compressor's performance can be improved by downsampling before encoding and using worker pools with OffscreenCanvas.

Brief written by urgent.news from Dev.to's own syndicated text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

GitHub Actions Required property is missing: jobs

Required property is missing: jobs is the workflow parser telling you that the root of the file has no jobs key where it expects one.

  • Missing "jobs" key at root of YAML file
  • Workflow parser flags invalid-file annotation
  • Fix by ensuring "jobs", "name", and "on" keys at same level

A Free Claude Code Skill That Reads Any Site's SEO Playbook

One page template on Wise ranks for 151,315 organic searches. Not a blog post. Not a landing page. One template, filled thousands of times with currency pairs and country codes, pulling in six figures…

  • Claude Code skill reads any site's SEO playbook for keyword, ranking, and backlink data
  • Skill costs 250 to 300 credits, runs 12 OpenSEO calls
  • Only 42 GitHub stars and 259 installs, indicating setup gap

Your CISO Doesn't Want More Findings. They Want Proof.

✓ Human-authored analysis; AI used for formatting and proofreading. You run a security scanner on your AWS environment. It finds 47 issues.

  • Executives prefer proofs over bug lists for assurance
  • Amazon collaborated with a bank to formalize IAM policies
  • Property proving provides deterministic, reproducible evidence

Identifying Unclosed SQLAlchemy Sessions That Cause Connection Pool Exhaustion

Identifying Unclosed SQLAlchemy Sessions That Cause Connection Pool Exhaustion 1. The Failure Mechanism: Why Connections Were Never Released In web applications built with SQLAlchemy, proper session…

  • Unclosed SQLAlchemy sessions cause connection pool exhaustion
  • Manual debugging and code reviews ineffective for enforcing session lifecycle
  • Custom static analysis tool developed to prevent unclosed session patterns

More from Sunday 15 November →