SShortSingh.
Back to feed

Image compressors only shrink files, leaving users stuck with upload size minimums

0
·1 views

Many government and university portals require uploaded photos to fall within a specific file size range, such as 20 KB to 50 KB, rather than simply under a maximum limit. However, every widely used online image compressor is designed only to reduce file size, with none offering a minimum file size target or range-based control. This creates an impossible situation where resizing a photo to the required pixel dimensions, say 200×230 pixels, naturally produces a JPEG well below the minimum threshold, causing silent upload failures. A developer has identified two technical workarounds: optimising JPEG quality upward to hit the size floor naturally, or padding the file using a JPEG comment segment that decoders ignore and that leaves the visible image unchanged. The author argues the root cause is a widespread gap in image tooling that has gone unaddressed because making files larger has never been a common user need until bureaucratic file-size floors made it one.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Engineer Builds Custom Transpiler to Migrate 4,000 Chatbot Tests to Playwright

A software engineer at an unnamed company built a custom transpiler pipeline to migrate over 4,000 legacy QA tests to the Playwright framework after joining an internal team tasked with improving the QA pipeline. The existing test suite stored all test cases in a spreadsheet workbook using BDD-style keywords, which caused serious issues including binary file conflicts in Git, no tooling support, and difficulty debugging or running tests in parallel. A full LLM-based migration was ruled out due to token cost constraints and the need for determinism and traceability. Instead, the engineer designed a multi-stage transpiler pipeline in TypeScript — moving from workbook extraction through semantic analysis to code emission — completed within a self-imposed two-week deadline. Key libraries used included xlsx for reading the workbook and ts-morph for programmatically generating the output TypeScript test files.

0
ProgrammingDEV Community ·

Why 'Open to Offers' Listings Kill Pre-Revenue App Sales on Marketplaces

Listing a pre-revenue app with no asking price and an 'open to offers' note is widely cited as the most common reason such sales fail, as it forces buyers — who have the least information — to do the pricing work themselves. Without monthly recurring revenue, there is no standard valuation multiple, leaving buyers with no default answer to the question of what the asset is worth. Industry data from micro-startup marketplace Microns shows roughly 90 pre-revenue projects sold over three years at an average of around $4,300, with its founder noting that buyers rarely pay well for pre-revenue SaaS. Analysts suggest valuing such products based on replacement cost — estimated developer hours multiplied by an hourly rate, then discounted 40–70% to account for unproven demand — with additional assets like a domain, waitlist, or user base pushing the price higher. Research in auction economics supports fixed or floor-price listings over open negotiations, particularly when asset valuation is highly uncertain, as competitive bidding tends to discover price more effectively than one-on-one bargaining.

0
ProgrammingDEV Community ·

How Three Root Files Can Make AI Coding Agents Production-Ready

AI coding tools like Lovable and Cursor are powerful but share a common weakness: they lack persistent context about a project's conventions, architecture, and library choices. Sandbox agents generate fast prototypes but lose all project-specific decisions the moment a session ends, while file-system agents read real codebases but often invent conflicting conventions without proper guidance. The core problem is that language models operate within a sliding context window, forcing them to guess at naming patterns, component APIs, state management, and architectural rules when no reference exists. A practical fix involves placing a small set of structured files — such as CLAUDE.md, .cursorrules, and AGENTS.md — at the repository root, where agents can automatically read them at the start of every session. Written once and maintained alongside the codebase, these files give AI agents the project-specific map they need to bridge the gap between prototype and production.

0
ProgrammingDEV Community ·

DevTools Launches Browser-Side Password Generator Using Web Crypto API

DevTools has released a browser-based password generator that uses the Web Crypto API's crypto.getRandomValues() method to produce cryptographically secure passwords and passphrases. Unlike tools relying on Math.random(), it draws from the operating system's entropy sources, making output resistant to prediction or reproduction. Users can customize password length, character sets, and filtering options, while a passphrase mode offers a memorable yet secure alternative. All processing happens entirely client-side, meaning no password data is ever sent to a server. The tool is part of a suite of over 200 free, no-signup privacy-first utilities available through DevTools.

Image compressors only shrink files, leaving users stuck with upload size minimums · ShortSingh