SShortSingh.

Programming

0
ProgrammingGitHub Blog ·

GitHub Copilot Lets Users Build Custom Workflows Using Plain English Descriptions

GitHub has introduced a canvas feature within its Copilot app that allows users to create custom workflow interfaces by describing them in plain English. The AI agent then builds a live, interactive surface based on the user's description. Users can both use and update the generated canvas in real time, reducing the need to manually adapt to existing tools. The feature is aimed particularly at beginners looking to streamline how they work with GitHub Copilot.

0
ProgrammingDEV Community ·

Developer discovers 5 bugs by building multilingual product demo videos from live screenshots

A developer running a multilingual AliExpress-front search engine built an automated pipeline to generate demo videos for 13 languages, rather than recording them manually across devices and regions. Using Python, Selenium with headless Chrome, and PIL for frame composition, the tool captured real screenshots while spoofing geolocation data to display correct currencies per country. The process of visually reviewing every screen in every language exposed five bugs that automated tests had never flagged, including a Hebrew 'share' button appearing on pages in German, French, and Polish. Additional challenges included handling right-to-left text, Arabic letter joining, Japanese character wrapping, and a silent ffmpeg padding issue that distorted video output. The developer shared the technical details to highlight how manual visual review — even when automated — can surface issues that code-level testing misses.

0
ProgrammingDEV Community ·

How WhatsApp's 24-Hour Messaging Rule Works and Why Bad Code Silently Fails

WhatsApp's official Cloud API enforces a strict 24-hour rule: businesses can send free-form messages only within 24 hours of a customer's last inbound message, after which only pre-approved templates are permitted. This rule applies uniformly across all integration methods, whether SaaS platforms, Meta's Cloud API, or custom builds on tools like Google Sheets and Apps Script. When the window-checking logic is coded incorrectly, the failure is silent — messages simply never reach the customer, or paid templates are charged unnecessarily. Common coding mistakes include timestamp unit mismatches between milliseconds and seconds, incorrect boundary comparisons, and mistakenly resetting the 24-hour window on outbound rather than inbound messages. A reliable implementation must normalize timestamps to a single unit at the input boundary and default to template mode whenever a timestamp cannot be read, ensuring the system fails safely.

0
ProgrammingDEV Community ·

Why Developers Must Separate Code Delegation from Architectural Decisions in AI Era

A developer argues that while AI tools are useful for implementing code, the critical decisions about system architecture should remain firmly with human engineers. Using his projects Juice and KiwiEngine as examples, he distinguishes between delegating implementation tasks and delegating the judgment calls that shape a system's design. His workflow requires establishing the problem, solution boundaries, and expected patterns before any AI-assisted coding begins. AI in his process cannot independently commit code, introduce dependencies, or alter architecture without explicit approval. He emphasizes that retaining decision-making authority does not mean ignoring AI suggestions, but rather staying accountable for the overall direction of the work.

0
ProgrammingDEV Community ·

AI Changes How Systems Behave, But Architects Still Own the Design

A webinar by Matthias Bohlen titled 'Same Job, New Rules' highlights that AI does not eliminate the software architect's role but introduces new risks and responsibilities. Unlike traditional systems where code and settings drive behavior, AI systems are also shaped by models, prompts, training data, and search results, making outputs probabilistic rather than predictable. Architects must still define system boundaries, quality goals, APIs, and fallback strategies, while also applying version control to models, prompts, and source documents. The internal flow of an AI feature involves multiple distinct steps — from input cleaning and data masking to model calls and output validation — each of which can fail independently. Keeping the first AI use case small and ensuring human review of outputs are recommended starting points for teams new to AI architecture.

0
ProgrammingDEV Community ·

Turkish High Schooler Builds 9 Cybersecurity Tools in Pure Python With No External Dependencies

Çınar, a high school student from Turkey, has developed a suite of nine open-source cybersecurity and digital forensics tools using only Python's standard library and direct Win32/NT Kernel API calls, with zero reliance on external PyPI packages. The project was motivated by real-world incident response constraints, where triage environments often lack internet access or compatible runtime dependencies. Tools in the suite cover areas including live host triage, network covert channel detection, ARP spoofing detection, LLM prompt injection defense, and behavioral biometric authentication. All nine tools are MIT-licensed and publicly available on GitHub, with the full triage tool reportedly completing a host scan in under one second from a portable USB setup. The developer says he is currently preparing university applications in Computer Science and plans to release a follow-up tool focused on reducing antivirus false positives.

0
ProgrammingDEV Community ·

Developer Builds API Aggregator to Learn Backend Error Handling and Testing

A coding teacher learning backend development built an API aggregator that chains multiple external APIs — combining weather, currency, and news data into a single endpoint. The project required passing the output of a geolocation API as input to a weather API, illustrating how real-world services can be composed together. The developer implemented structured error handling using HTTP status codes (500, 502, 504) to clearly communicate whether failures originated from the internal server or external services. A TTL cache was added to reduce redundant API calls, though the developer noted its limitations around cache stampedes and single-process scope. Testing was handled with Pytest by replacing the HTTP client with a fake that simulated timeouts and invalid responses, allowing failure-path code to be verified without waiting for real services to go down.

0
ProgrammingHacker News ·

Practical Guide Outlines LP Voting and Investor Consent Workflows for AIFs

A new blog post published on Taghash explores the operational mechanics of limited partner voting and investor consent processes within Alternative Investment Funds (AIFs). The article provides a practical workflow aimed at fund managers and administrators navigating these procedures. AIFs typically require structured consent mechanisms to ensure regulatory compliance and investor governance. The piece addresses how fund managers can streamline decision-making while maintaining transparency with their limited partners. It was shared on Hacker News, though it attracted minimal engagement at the time of posting.

0
ProgrammingDEV Community ·

Developer builds production-ready Helpdesk API in Go using only standard library

A software developer has published a fully functional Helpdesk REST API built in Go without any web frameworks, relying solely on the standard library plus a SQLite driver and a JWT library. The project supports two user roles — customers and agents — with features including ticket management, status and priority tracking, JWT-based authentication, and role-based permissions. Password hashing follows OWASP recommendations using PBKDF2-SHA256, and security details such as identical error messages for wrong email or password help prevent user enumeration attacks. Routing is handled by Go 1.22's enhanced http.ServeMux, which the developer argues eliminates the need for third-party router libraries. The full source code is publicly available on GitHub and includes automated tests and a Docker image for deployment.

0
ProgrammingDEV Community ·

Pre-MVP Startup Seeks Design-Minded Co-Founder to Shape Product Direction

A startup founder is publicly seeking a third co-founder to lead design and product strategy at the pre-MVP stage. The role goes beyond visual design, requiring someone who can challenge ideas, conduct market research, and influence what the product ultimately becomes. A marketing-focused co-founder is already on board, so the new partner would own the product and design side as an equal stakeholder. Candidates do not need a formal portfolio or coding background, though frontend skills or familiarity with AI tools like Claude are considered a plus. Interested individuals can reach out directly via email at somaykousis@gmail.com.

0
ProgrammingDEV Community ·

Library vs Framework: Understanding the Key Difference in Software Development

In software development, both libraries and frameworks provide reusable code and tools to simplify application building, but they differ in who controls the application flow. A library, such as React, is a collection of reusable code that developers call upon as needed, giving them greater control over structure and tool choices. A framework, such as Next.js or Angular, takes a more structured approach by defining conventions and calling the developer's code itself — a concept known as Inversion of Control (IoC). While libraries typically focus on specific functionality, frameworks tend to cover broader application needs and often recommend or include their own solutions. Understanding this distinction helps developers select the right technology based on their project's specific requirements.

0
ProgrammingDEV Community ·

Developer Builds MCP Server to Let AI Agents Render and Inspect Android UI Without Emulator

A developer built a local MCP server using Kotlin/JVM and Robolectric to let a coding agent render Android XML layouts and verify UI changes without manually launching an emulator. The tool goes beyond simple screenshots by pairing each rendered image with a real View tree, giving the agent verifiable data such as element positions, bounds, padding, and margins. An early version exposed a key flaw: screenshots alone could not answer precise layout questions, and the inspect_view tool was nearly useless without genuine child View nodes. The architecture was also revised after the coding agent flagged that reusing a single Robolectric runtime risked returning stale resources when XML or Kotlin files changed. The final loop — render_layout, get_view_tree, and inspect_view — ensures the image and View data always come from the same completed layout pass.

0
ProgrammingDEV Community ·

Why a Green Health Check Can Mask a Full Service Outage

Health checks can fail in two ways: false alarms that interrupt engineers unnecessarily, and false all-clears that silently mask real outages — and most monitoring systems are only tuned to prevent the first. A common problem is that health check endpoints return a simple 200 OK status without verifying whether the service's core dependencies are actually functioning. Checks that run inside the same cluster as the service they monitor can fail alongside it, producing no alert at all. A dead man's switch — an external service that expects a regular ping and raises an alert when that ping stops — addresses the blind spot where a failed checker reports nothing. Engineers are advised to treat 'unknown' as a distinct state from 'healthy' and to regularly test failure paths, not just the success path.

0
ProgrammingDEV Community ·

Local Postgres outperforms managed cloud instance by up to 7x in direct benchmark

A developer ran identical Postgres 17.11 databases — one local on a DigitalOcean droplet, one on DigitalOcean's smallest managed instance — to compare performance under controlled conditions using the same schema, 200,000 rows, and the same region. Initial application-level benchmarks via FastAPI appeared to show similar throughput across both setups, but further analysis revealed the Python runtime, not the database, was the actual bottleneck. Switching to pgbench for direct database testing exposed a stark difference: the local instance delivered up to seven times higher read throughput and roughly twice the write throughput compared to the managed option. The managed service's lower performance is attributed to network latency and shared resources, while the local database benefits from zero-latency same-machine access. The findings highlight that application-layer benchmarks can be misleading and that the right testing tool matters when evaluating database infrastructure choices.

0
ProgrammingDEV Community ·

Rails World 2025: Developer Reflects on Skipping Conference and Divisive Keynote

Rails World took place this week in Austin, drawing over 1,200 attendees, but one developer chose to skip it due to scheduling conflicts with another conference and workplace deadlines. For the first time, the opening keynote was livestreamed, giving remote viewers a chance to watch. Many in the community reacted negatively to the keynote, which featured DHH speaking at length about how little Ruby he writes, prompting criticism that it struck a mournful rather than inspiring tone. The author contrasted this with their first conference experience at RubyConf 2018, where creator Matz delivered an energizing address about the language's future. Reflecting on large conferences broadly, the author noted their value in offering multiple tracks, networking, and community connection, while acknowledging that the personal experience often hinges on the people you meet rather than the keynotes.

0
ProgrammingDEV Community ·

Developer Builds Open-Source AI Agent That Reads Jira Tickets and Runs Browser Tests

A developer has created an AI-powered QA agent that accepts a Jira ticket ID and a test environment URL, then autonomously reads the ticket, generates test steps, and executes them in a live Chrome browser window. The tool is built on two open-source components: Agent Factory, a studio for designing and managing agents, and BaaS (Browser as a Service), which handles actual browser interactions such as clicking, waiting, and taking screenshots. The setup requires a GitHub account, an OpenAI or Anthropic API key, Google Chrome, and optionally Docker and Go for local execution. Users configure the agent by cloning the Agent Factory repository, setting up BaaS locally or via Docker, and linking their Atlassian API credentials so the agent can access Jira ticket details. Once configured, the Test Orchestrator agent can be pointed at any test environment URL, enabling automated browser-based QA checks driven directly by Jira ticket content.

0
ProgrammingDEV Community ·

Vibe Coding Isn't the Problem — Stopping at the Vibe Is

A tech industry essay argues that 'vibe coding' has been unfairly maligned, with the real issue being developers who treat an initial intuition as a finished product rather than a starting point. The author draws on psychologist Gary Klein's research into expert decision-making, where experienced fire commanders acted on gut feelings rooted in deep pattern recognition, not guesswork. Philosopher Michael Polanyi's concept that 'we can know more than we can tell' is cited to frame a 'vibe' as compressed, experience-driven judgment — a legitimate cognitive tool. The piece proposes a full development loop: vibe, build, break, understand, stabilize, and refine, rather than shipping whatever an AI model produces unchecked. The author concludes that the capacity for intuition is not the flaw; the flaw is where practitioners choose to stop.

0
ProgrammingDEV Community ·

Developer Tests Two Local AI Agents Building an App Autonomously Using Ollama

A software developer ran an experiment using two locally hosted AI models — one acting as a code builder and one as a reviewer — to autonomously develop an application without human intervention. The setup, dubbed RelayLab, used Ollama and Python on a personal PC, with the models passing work back and forth across multiple rounds. Initial attempts with larger models caused CPU and VRAM overload, prompting a switch to smaller 3B and 4B parameter models with memory unloading enabled between turns. The orchestrator restricted agents to an isolated workspace, logging every round for post-experiment review. The experiment produced mixed but revealing results, highlighting both the potential and current limitations of local multi-agent AI systems.

← NewerPage 922 of 3182Older →