SShortSingh.

Programming

0
ProgrammingDEV Community ·

Browser-Based File Converter Keeps Images Local, Avoiding Server Uploads

The article describes a free image converter that processes files entirely in the browser rather than uploading them to a server. The author argues that typical online converters expose sensitive files to infrastructure users cannot verify, and offers a simple network-inspection method to confirm no file is transmitted. Conversion relies on decoding with createImageBitmap, drawing to a canvas, and encoding through WebAssembly codecs running in a Web Worker. The piece also covers practical challenges, including EXIF rotation, worker timeouts, HEIC decoding under strict Content-Security-Policy, and binary-searching JPEG quality to meet target file sizes.

0
ProgrammingDEV Community ·

Causal Read-Your-Own-Writes in Java Using Postgres LSN Tokens Instead of Primary Routing

The article argues that sending reads to the primary database right after a write is a costly shortcut that limits write capacity at scale. It recommends capturing the Postgres log sequence number (LSN) during the mutation transaction and returning it to the client, for example as an HTTP header. Subsequent reads carry this token, and a routing layer sends them to a replica only if the replica has replayed past that position. A fallback to the primary applies when replication lag exceeds a set threshold, such as 25ms. The author presents this as a lighter alternative to distributed locks or consensus protocols when read-your-own-writes consistency is the only requirement.

0
ProgrammingDEV Community ·

Claude Code skills can be silently dropped from context when their listing budget overflows

Claude Code includes every installed skill's name and description in the model's context on each turn, whether or not it is used. The listing is capped at 1% of the context window, and when it overflows, descriptions of the least-used skills are removed without any UI warning, only a debug log entry. Skills left without descriptions can no longer be matched to user requests and effectively stop being selected. The author built skill-tax-cli, a dependency-free Python tool that measures each skill's token cost, replays the overflow rule, and exits non-zero when skills would lose their descriptions, making it usable in CI. The tool also measures rules, memory files, and MCP configs, and token counts are rough estimates based on characters divided by four.

0
ProgrammingDEV Community ·

Developer Adds Job Posting Health Check to Resume Tool to Flag Suspicious Listings

A developer behind the ResumeIQ AI tool argues that job seekers should assess whether a posting is worth applying to before optimizing their resume. The author built a feature called Job Posting Health that scans a pasted job description for warning signs such as registration fees, pressure to act quickly, and required equipment purchases from a specified seller. In testing with a sample posting containing several such signals, the feature flagged them for closer review. The developer stresses the tool cannot definitively determine whether a job is legitimate, only prompt users to investigate further. A companion feature, Resume Freshness, checks whether a resume shows recent evidence of the skills a role requires.

0
ProgrammingDEV Community ·

Managing Notification Templates and Workflows as Code With the SuprSend CLI

A DEV Community post argues that notification assets such as templates, workflows and preferences should be treated as version-controlled configuration rather than edited through dashboards. Keeping them only in a UI can cause missing audit trails, environment drift between staging and production, and broad production access. The author describes using the SuprSend CLI to pull these assets as local JSON files, edit them in an IDE, and push them back after schema validation. Once stored as files, changes gain Git's commit history, diffs and easy reverts. The post also sketches a GitHub Actions job that syncs assets from staging to production when a pull request merges to main.

0
ProgrammingDEV Community ·

Pairing Claude Code and Codex Tasks With Model and Effort Presets

A developer guide proposes assigning a model and effort level to each category of coding work so that users avoid overspending on simple tasks and underpowered runs on hard ones. Anthropic's cost guidance warns that long uncleared sessions and Opus left as the default are common sources of unexpectedly high Claude Code bills. Haiku output is priced far below Opus, so routing routine work to smaller models yields large savings. The author maps three named presets, chore, feature and deep, to specific Claude Code and Codex models and reasoning-effort settings, following each vendor's own recommendations. The piece also notes that Codex profile configuration changed in version 0.134.0, moving from tables in config.toml to separate profile files.

0
ProgrammingDEV Community ·

Keeping CD in Azure DevOps While Moving CI to GitHub Actions

Microsoft's Enterprise Live Migrations tool, currently in public preview, can move repositories from Azure DevOps to GitHub Enterprise and rewire existing pipelines. The author's team chose to move continuous integration to GitHub Actions to standardise builds and keep them closer to the code. They kept continuous delivery in Azure DevOps, largely because Managed DevOps Pools provide private network access without the maintenance burden of self-hosted agents. Handing off between the systems requires an immutable release process and careful decisions about when builds are promoted to each environment. The article presents this as one possible approach, not a universal solution, and notes the trade-offs involved.

0
ProgrammingDEV Community ·

Building Web Apps That Keep Working Through Network Failures

Reliable web applications should be judged by how they behave when connectivity drops mid-save, a mobile tab is suspended, or a server response is lost. Offline tolerance means preserving work and avoiding duplicate or misleading operations, not merely caching the interface so it can open without a network. The article recommends separating confirmed server state, optimistic local state, and pending mutations so the interface can always explain where a value came from. It also suggests mapping each key action to a capability level, such as offline-available, locally durable, or server-only, and recommends storing durable browser data in IndexedDB rather than component state or localStorage. The author draws on game development experience to argue that explicit state transitions are central to this kind of resilience.

0
ProgrammingDEV Community ·

Homelab research agent built to withhold unsupported tool recommendations

A developer built toolsmith, a weekly research agent for homelab tools that suggests credible replacements and the trade-offs of switching. Each claim must be paired with its source, and conflicting sources are surfaced rather than resolved by picking a side. The agent runs in a Docker sandbox with no internet access by default, opening outbound connections only during a defined research phase. Its most distinctive component is a validator that strips any recommendation lacking direct sourcing for its factual claims, rather than flagging it as low confidence. In the author's testing, the validator removed two of three recommendations, which had relied on forum speculation and fabricated version numbers, leaving only well-documented suggestions.

0
ProgrammingDEV Community ·

Why Link A/B Tests Get Uneven Traffic and How to Fix the Split

A redirect test set to a 50/50 split can drift to something like 62/38, and the cause is often an assignment or caching bug rather than random chance. The article shows a server-side approach that uses a stable first-party cookie and a hash of the test name and user ID to assign variants consistently. It stresses sending a no-store cache header on redirects, since CDNs can otherwise freeze the split, and logging exposure before redirecting. To catch problems early, it recommends a chi-square sample ratio mismatch check, and it advises fixing the root cause and restarting the test rather than rerunning it until the numbers look even. Redirects should use 302 or 307 rather than 301, with traffic routed through one splitter and bots excluded before analysis.

0
ProgrammingDEV Community ·

Crafting success sparks bounded to one inventory slot for readable feedback

A crafting success effect should be anchored to a single inventory slot so its particles do not spill over item counts or nearby controls. The guide recommends triggering it only on a confirmed craft transaction, not when crafting begins, and ignoring repeated delivery of the same event. It proposes a small burst of eight particles with a short lifetime and upward spread as a design target, not a measured performance result. Overlapping crafts should replace the previous cue for that slot, and the effect should be skipped while the slot is scrolled out of view or when reduced motion is enabled. The author stresses that the visual effect cannot confirm the transaction itself, which must come from application state.

0
ProgrammingHacker News ·

Linux 7.3 Kernel Released

The source material available here only confirms that version 7.3 of the Linux kernel has been released, as reported on Hacker News and linked to an LWN.net article. No further details about the release's features, changes, or significance were included in the item provided. A full summary requires the article text.

0
ProgrammingDEV Community ·

Six Pre-commit Hook Tips for Terraform and Python Repositories

A common frustration in pull requests is reviewers repeatedly flagging formatting and lint issues that could be caught earlier. Pre-commit hooks move these checks onto the developer's machine before a commit is created, which is especially useful for repos combining Terraform with Python code such as Lambda handlers. The guidance recommends pinning each hook to a specific tag or commit SHA rather than a branch name, and updating deliberately with autoupdate so local machines and CI stay aligned. It suggests starting with Terraform fmt, tflint, and terraform-docs, then using Ruff to handle Python linting and formatting in one tool. The article also warns that hook IDs can change between releases and that hooks should not run terraform plan, since that requires credentials and network access best kept in CI.

0
ProgrammingDEV Community ·

Sourcerer: an offline AI tool that tells resellers the most to pay for a thrift find

Sourcerer is an offline-first sourcing assistant for resellers that identifies an item from a photo or typed description using a local open-weight model. Plain TypeScript code, not the model, then calculates the maximum a buyer should pay after eBay fees, shipping, supplies, and a desired profit multiple. The tool runs on the user's own laptop or home machine, with the phone serving as camera and screen, so it works without internet or per-scan API costs. When no machine is reachable, it falls back to cached data and a clearly labeled estimate based on the user's sold history. The creator targets weekend flippers handling a few dozen items a month, and the app also drafts listing titles and descriptions.

0
ProgrammingDEV Community ·

Explaining UTM Parameters and How to Build Tracking Links for Traffic Analysis

UTM parameters are short tags appended to a website URL that reveal where a visit came from, helping marketers compare channels like LinkedIn and email. The tags do not collect data on their own, so a configured analytics tool such as Google Analytics 4 is still required to report them. The guide outlines five common parameters: source, medium, campaign, content, and term, with source, medium, and campaign recommended for beginners. It walks readers through creating tagged links without coding, using a LinkedIn post as an example. It also suggests a consistent naming convention so campaign results can be reviewed together.

0
ProgrammingDEV Community ·

IBM Warns of 25 Langflow OSS Flaws Affecting Versions 1.0.0 Through 1.12.2

IBM has issued a security bulletin describing 25 vulnerabilities in Langflow OSS versions 1.0.0 through 1.12.2, with 2 rated critical, 19 high and 4 medium. No exploitation in the wild or public proof-of-concept has been confirmed, so the response is preventive rather than a breach investigation. Two anonymous, no-login flaws allow code execution, while many others require an account, and some involve path traversal, credential leaks, or server crashes from oversized ZIP archives. IBM recommends upgrading to Langflow 1.12.3 immediately, keeping the platform off the public internet, and restricting who can create or edit flows until patching is complete. Organizations should also rotate any API keys and credentials stored in the platform after upgrading.

0
ProgrammingDEV Community ·

OpenGameBuilder Turns a One-Sentence Description into a Playable Game with Local LLMs

OpenGameBuilder is an open-source tool that lets users create small games from a short description, using a local model such as Gemma 4. It builds on a world engine that draws everything in code, so a world file of only about 551 bytes of JSON can produce a full village. Users pick a world and a game type, press Play, and download the result as a single offline HTML file. The project aims to help teachers, game masters, and small game makers who cannot draw or animate. Its developers also describe a royalty model in which the tools are free and fees apply only to games that earn over US$500.

0
ProgrammingDEV Community ·

How HTTP chunked transfer encoding works, with Go and Python examples

This DEV Community article explains HTTP chunked transfer encoding, which lets a server send a response body in pieces without knowing its total length in advance. It describes common use cases such as long-running computations that emit output gradually, large files served from disk, real-time data feeds, and server-sent events. The wire format is broken down, with each chunk prefixed by its size in hexadecimal and a zero-length chunk marking the end of the response. The piece also includes practical implementations of the technique, one written in Go and one in Python, that stream output over raw sockets.

0
ProgrammingDEV Community ·

SubScribe Field OS: Offline Voice Tool Turns Spoken Site Changes into Billable Documents

SubScribe Field OS is an open-source, local-first voice system that helps small construction subcontractors document out-of-scope work. A worker can describe a change in plain speech, such as moving electrical boxes because of a duct obstruction, and receive a structured, contract-referenced PDF within seconds. The stack runs entirely on the device, combining offline transcription tuned to trade vocabulary, schema-validated routing with a local Gemma model, and a contract search index so no client documents leave the hardware. The developer argues that recovering even one unbilled change order per month could justify the tool, and that avoiding per-token cloud fees keeps processing costs at zero per document.

0
ProgrammingDEV Community ·

Engineer Questions Pricing Rounding Logic Written by Principal Engineer

While tracing an unusual result in the pricing service, a developer noticed a rounding step applied before a discount rather than after, which looked incorrect. The code was written three years earlier by the team's principal engineer, and the developer acknowledged they might be missing context. The article advises turning the suspicion into a concrete, reproducible test with a real order example, then raising it openly as a question with evidence in the ticket or team channel. Whether the behavior turns out to be intentional or a genuine bug, the author argues the process of careful reading and clear questioning is the valuable takeaway. The piece was written by Asael Shinder and published on DEV Community.

← NewerPage 323 of 3076Older →