SShortSingh.

Programming

0
ProgrammingDEV Community ·

Nine fields to fill in an SEO content brief before writing a single word

A common scenario is described where a website owner gives a writer only a keyword and a word count, and the resulting article ranks nowhere three months after publishing despite being well written. The writer did nothing wrong; the brief simply left them to guess at intent, audience, and structure. The author rebuilds the brief as a checklist of nine fields, covering the primary and secondary keywords, search intent, the reader's goal, the page's role such as pillar or guide, required questions, supporting evidence, internal links, and post-publication KPIs. The fifth field, the URL's role, is the one most often overlooked, since two pages competing for the same intent end up cannibalizing each other. The article also lists technical checks such as a 200 status, self-referencing canonicals, indexable content in the initial HTML, and unique titles and meta descriptions. The author stresses that completing the form does not guarantee top rankings, but it removes guesswork and makes it possible to trace where a page went wrong.

0
ProgrammingDEV Community ·

Block Editor Shifts WordPress Plugin Development, But Classic Methods Remain

The WordPress Block Editor has changed how developers build features, letting users configure content elements visually instead of relying on shortcodes. Blocks are especially useful for page layouts, testimonials, and other reusable components that appear within content. However, the article argues that classic plugin development is not obsolete, since core functions like permissions, payments, database operations, and API integrations still run on server-side PHP. Many plugins therefore combine block interfaces with traditional backend logic. Overall, the Block Editor complements rather than replaces established WordPress development techniques.

0
ProgrammingDEV Community ·

Veteran developer says loyalty and quality lost out to a "good enough" market

A software developer with over 45 years of experience recounts starting on a Commodore 64 and progressing through assembly, the Amiga and C. For nearly 12 years he worked for a movie-industry client, often underbidding and working year-round without raising his fees. He says the client abruptly ended the relationship after deciding that "good enough" mattered more than being better. He reflects that underpricing and loyalty were mistakes in a market that rewards job-hopping, though these lessons conflict with his ethics. He concludes that his career may need to change if continued learning requires it.

0
ProgrammingDEV Community ·

Why Naive String Slicing Breaks Link Previews With Emoji and Urdu Text

Link preview titles and descriptions are often generated automatically from CMS fields, product feeds, or Markdown bodies rather than written by hand. A common one-line approach that slices strings to a fixed length introduces several bugs. JavaScript's slice counts UTF-16 code units, so it can split emoji such as flags or joined sequences, producing broken characters. The same issue affects Urdu, Arabic, and Hindi text, where combining marks can be detached from their base letters. The article proposes counting grapheme clusters with the built-in Intl.Segmenter, which reflects what readers perceive as single characters. It also offers a tested helper that cuts at word boundaries, falls back to grapheme cuts for overly long tokens, and includes the ellipsis within the length budget.

0
ProgrammingDEV Community ·

Lessons from running a 200-game browser arcade on instant-play design

A contributor who helps run PlayPokiGame, a free site of casual HTML5 games playable in-browser without downloads or signups, shares lessons from observing real player behavior. Time-to-interactive proved the strongest predictor of play sessions, with games showing a playable frame within about three seconds drawing far more engagement. The author also found that browser players skip tutorials, so controls should be shown in-game, and that short 10–20 minute play bursts favor games with natural 3–5 minute loops. Instant respawns, auto-pausing on tab blur, and periodic localStorage saves are highlighted as key to keeping players from abandoning games. The author argues these principles apply broadly to web products, given the browser runs on everything from cheap Chromebooks to high-end workstations.

0
ProgrammingDEV Community ·

Browser-based HEIC to JPG conversion for iPhone photos using JavaScript

iPhones save photos in HEIC format by default, which is smaller than JPG but often rejected by websites, forms, and Windows apps. Because only Safari can natively decode HEIC, the author recommends the heic2any library, which uses WebAssembly to convert files directly in the browser. The library is about 1.3 MB, so it is loaded only after a user selects a HEIC file to keep page loads fast. Developers are advised to handle multi-image HEIC outputs as arrays, check file extensions since MIME types can be empty, convert files sequentially to limit memory use, and use a quality setting of 0.9. Since the file never leaves the user's device, the approach also suits private photos.

0
ProgrammingDEV Community ·

Five On-Premises Project Management Tools Compared on Data Control and Workflow Fit

Organizations that must keep project records on infrastructure they manage need to weigh deployment options alongside approval steps, status reporting, and daily usability. A new practitioner's guide compares five tools on deployment and data control, workflow coverage, and operational fit. It recommends first confirming hosting requirements, then testing each candidate against a representative project from planning through reporting. The guide profiles ONES.com, Jira Data Center, Microsoft Project Server, Wrike, and OpenProject Enterprise, noting each one's strengths and caveats such as Jira Data Center's announced end-of-life timeline. Its suggested evaluation method is to trace a requirement through planned work and execution updates to see whether it surfaces in project reporting.

0
ProgrammingDEV Community ·

Treat LLM Agents Like New Bank Tellers: Five Controls That Transfer

A developer with a background in financial systems argues that LLM agents with tool access resemble new bank employees who are fast but cannot reliably distinguish genuine customers from fraudsters. The author suggests that long-established banking controls can be applied to these agents. Key recommendations include enforcing policy in code rather than in prompts, using a gate that checks each proposed tool call before execution, and treating retrieved document content as untrusted data to limit prompt injection. The piece also recommends detailed logging of every proposed tool call, including rejections, and using velocity checks to detect fraud patterns.

0
ProgrammingDEV Community ·

New CLI Maps Broken Script Calls That Linters Miss

ShellCheck and Pylint check individual files but cannot see how scripts call one another, so a pipeline can pass linting and still fail. The author gives an example where a deploy script calls a file that was renamed earlier, leaving a stale reference nobody updated. The same gap affects AI-generated scripts that chain together through subprocess calls, sometimes forming loops or dead references. The author released script-chain-walk, a zero-dependency Python tool on PyPI that maps call relationships across shell and Python files, flagging missing targets and call cycles. Its --check flag exits with an error code when problems are found, making it usable in audits and continuous integration.

0
ProgrammingDEV Community ·

Oxlint and Oxfmt Cut a React Project's Lint Check From One Minute to Two Seconds

The Oxc project's linter Oxlint and formatter Oxfmt claim to run dramatically faster than ESLint and Prettier. To test this, the author timed both setups on Excalidraw, a 710-file open-source React and TypeScript codebase, on an ordinary laptop. The full check dropped from about 60 seconds to roughly 2 seconds, a real but smaller speedup of around 30x rather than the advertised 50 to 100x. Oxlint also reported 435 warnings where ESLint reported none, but most were stricter default rules rather than genuine bugs, though it did surface some useful React issues. The author notes that three custom Excalidraw rules have no direct Oxlint equivalent, and suggests the real work is reviewing which rules to keep.

0
ProgrammingDEV Community ·

Stakeholder Analysis for Software Projects: A Practical Template

A stakeholder analysis for a software project is a short table listing the people who can influence, block, use, or fund the product, along with their needs and level of influence. It is built early in discovery to plan interviews and sign-offs, and is updated until handover. The article explains that it serves three purposes: guiding interviews, identifying approval owners, and surfacing conflicts between stakeholders early. It groups relevant stakeholders into sponsors, decision makers, end users, support staff, integrated system owners, gatekeepers such as security and legal, delivery teams, and outside parties. It also recommends a concise set of columns, including power, interest, needs, and stance, plus a power-interest grid to prioritize engagement.

0
ProgrammingDEV Community ·

Developer releases open-source bash-write-targets tool to statically detect bash command file writes

A developer built a standalone, stdlib-only Python tool called bash-write-targets after their agent-guard project's README said such a tool did not yet exist. The tool statically parses a bash command string to list the files it would write, such as redirection targets and sed -i or mv destinations, and can output the results as JSON. It handles cases like heredocs and unresolvable variables, and it does not execute commands or use eval. The developer notes its limits: it cannot detect writes made inside interpreter code like python3 -c, nor network actions such as POSTing data. The project is MIT-licensed and available on GitHub and PyPI, with 19 smoke tests reported as passing.

0
ProgrammingDEV Community ·

Old Camera Phones Get No Annual Change Notice, So Check Five Settings Yearly

A phone kept running as a dedicated camera continues to receive platform changes with no notice listing what has altered, unlike Medicare plans, which send annual letters. The author recommends an annual review of five items that each take under a minute to check. One key risk is Android's app hibernation rule, which can reset camera permissions and clear cache for an app left unused, a common situation for a camera phone. Owners should also confirm that the two separate security-update dates still advance, and check whether automatic app updates are interrupting the camera app. Doing nothing, the piece argues, is not the same as standing still, since it means accepting whatever has changed.

0
ProgrammingDEV Community ·

Atlassian's AI agent to charge $1 per resolution in Customer Service Management from December 2026

Atlassian will begin billing $1.00 for each AI agent resolution in Customer Service Management from 3 December 2026, with no included allowance on any plan. The change prompted one team to delay its rollout, since it could not benchmark likely resolution volumes without testing in production. The article notes that the meter applies to Customer Service Management's AI agent, while Jira Service Management's self-service agent instead consumes Rovo credits, at 10 per reply in testing. Teams running Jira Service Management, particularly for internal employee requests, may therefore not be affected by the per-resolution charge. Whether the cost is worthwhile depends largely on how many resolved conversations would otherwise have reached a human agent.

0
ProgrammingDEV Community ·

GoDaddy and Cloudflare Run About a Third of All .com DNS Names

An analysis of roughly 167 million .com names on 8 October 2026 found that GoDaddy hosts 21.66% of them and Cloudflare 12.94%, together accounting for about a third of the zone. The ranking groups each name under the company running its first nameserver, and the top 15 providers handle about 62% of names. Much of GoDaddy's lead comes from its size as a registrar, while many owners deliberately choose Cloudflare for speed and its free plan. Parking and marketplace services such as dns-parking.com and Afternic also appear high in the list, though their names often lack a working website. The authors note that concentration creates a single point of failure and recommend owners consider separating DNS from their registrar or host.

0
ProgrammingDEV Community ·

Convertim Weighs Crop Versus Pad for Fixed Aspect Ratios in Batch Image Conversion

The developer of Convertim, a portable Windows image converter built on sharp (libvips), is designing how its batch mode handles fixed aspect ratios. The app already stretches images to exact dimensions, which the author considers the poorest option for photos. Instead of per-image freeform cropping, which is impractical for large batches, Convertim offers eleven preset ratios plus a custom option, applied uniformly to all files. The author notes that cropping and padding to a given ratio always discard or fill the same fraction of the image, so the real choice is between losing pixels and adding filler. Crop placement, such as centre, top, or content-aware positioning, is also under consideration, and the author says these decisions have yet to be tested on a few hundred real images.

0
ProgrammingDEV Community ·

Five Beginner Web Development Mistakes That Cost One Developer Months

A developer reflects on early web development missteps that consumed months of effort, beginning with the belief that good developers must master many frameworks and code at high speed. They describe rushing from basic HTML and CSS straight into React without solid JavaScript fundamentals. Spreading attention across numerous tools led to tutorial overload and an inability to finish a complete project independently. The author also cites coding without planning, which produced tangled, hard-to-maintain projects, and skipping version control, which resulted in a lost folder and no public record of work. The piece concludes by urging beginners to build depth, plan ahead, use Git, and deploy their projects instead of leaving them on localhost.

0
ProgrammingDEV Community ·

Solo developer builds production SaaS in 40 minutes using AI software factory

A developer describes pastmonday.com, a small but complete SaaS app with authentication, a weekly calendar, Stripe billing, referral credits, file uploads, and an AI chat. The app was built by a 'software factory' of four reusable Claude Code skills that turn a one-page project brief into a shipped product in stages. Its backend runs almost entirely on Neon, which provides Postgres, Auth, and a Data API, with Object Storage and an AI Gateway in private preview that the developer accessed early. Stripe handles payments and the developer's own cluster hosts the containers. The developer says the skills are publicly available on GitHub and promotes the approach through a related video.

0
ProgrammingDEV Community ·

New calculator estimates Apna Ghar loan eligibility from monthly salary

A developer has built a free online calculator for Pakistan's Apna Ghar Scheme that begins with a borrower's income rather than the desired loan amount, reflecting how banks assess applications. The tool supports salaried and self-employed modes, lets users set the share of income devoted to installments, and offers 5 to 20 year tenures. It also checks whether a property price falls within the scheme limit and estimates post-year-10 installments. The developer says a sample salary of PKR 80,000 yields about PKR 4.5 million, matching a real approval for a friend, but the tool is only an estimate, with banks verifying documents, credit history and current scheme terms.

0
ProgrammingDEV Community ·

AI agent's startup file went stale three ways; its fix reports unknown instead of fresh

A long-running AI agent relies on a single startup file that names its identity, current phase, and documents to read first. That file went stale three times in one month, each time in a different way: a pointer to a replaced document, an outdated dated sentence, and a newer document it never listed. The agent wrote a small shell check covering these cases, which compares version paths, reads the date in the file against warning and red thresholds, and diffs directory contents against the listed entries. When the check cannot measure something, it reports unknown rather than fresh, and testing confirmed it flagged deliberately aged copies correctly. The author notes the approach resembles Nagios-style UNKNOWN exit codes and that similar tools exist, though this was tested only on one file.

← NewerPage 196 of 2985Older →