SShortSingh.

Programming

0
ProgrammingDEV Community ·

Our Payslips Were Locked With Each Employee's Date of Birth

When we stopped printing payslips in 2021, the payroll team chose the simplest protection available. Each payslip went out as a PDF attached to an email, locked with a password, and the password was the employee's date of birth. Nobody had to be told it, nobody forgot it, and the service desk never had a single call about it. I came to it through a complaint. An employee had separated from her partner, who still used the family laptop, and her payslip, with her salary, her bank details and her national insurance number, had been opened in the shared mail client.

0
ProgrammingDEV Community ·

Our bucket policy let the office in and locked out every server we own

In June our security team asked for the bucket holding signed contracts to be reachable only from the office and from our own network. I wrote the bucket policy in Terraform: deny every S3 action unless the request's aws:SourceIp is one of the office ranges or one of the two public addresses of our NAT gateways. I tested it from my laptop in the office and from an instance in a private subnet, and both worked. The plan was reviewed and the apply was green on a Wednesday. On Friday morning the contracts service failed every upload and every download with access denied, from an explicit deny.

0
ProgrammingDEV Community ·

BugReplay: Helping Developers Learn from Bugs Their Team Has Already Solved 🐛

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend Ever spent hours debugging an issue, only to find out your teammate had already fixed the exact same bug? 💀 That's where BugReplay comes in! 🚀 I'm building an AI-powered debugging assistant that helps teams turn their past bug fixes into reusable knowledge. 💡 The idea Instead of digging through old chats, GitHub issues, or asking teammates for the same solution, developers can simply paste an error message or stack trace into BugReplay and find relevant issues the team has already resolved. ⚡ What it does 🔍 Fi

0
ProgrammingDEV Community ·

Shelf Friend helps my friend compare supermarket prices and product care

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend A friend needs help while shopping at a supermarket: compare prices, understand how a kitchen or household item should be used, and weigh its advantages against the maintenance it brings home. I built Shelf Friend, a small Chinese-language web app with two connected decisions: what costs less per usable unit, and what fits the intended use? My friend stays anonymous. I have not yet collected their feedback, so the results below are my implementation checks, not a claimed user study. The calculator takes prices fro

0
ProgrammingDEV Community ·

Our invoices lost their accents when we moved to a new CI system

In February we moved the build for our invoicing service from Jenkins to GitHub Actions. The pipeline was rewritten step by step, every test passed, the image deployed, and the first run of monthly invoices went out on the first of March. By lunchtime our Polish and Czech customers were sending us screenshots. Every ł, ś and ř on their invoices was an empty box. The service renders PDFs with fonts we bundle, because the base image has almost none.

0
ProgrammingDEV Community ·

What Actually Happens When an API Request Hits Your Backend?

Ever wondered what happens after you click "Send" on an API request? A typical backend request goes through these stages: Client Each stage has a different responsibility. Parsing → Understand the incoming data Validation → Check whether the data is valid Authentication → Who are you? Authorization → Are you allowed to do this? Business Logic → What should the application do?

0
ProgrammingDEV Community ·

Every Ninety Days Our Service Desk Had the Same Bad Week

For about a year my service desk had a bad week roughly once a quarter. Calls doubled on the Monday, the contact centre started the early shift short of agents, and by Thursday everything had calmed down again. Each review blamed something different and named nothing in particular. It was a team leader in the contact centre who saw the pattern, because she kept a diary of the mornings she started short handed. Her bad mornings were thirteen weeks apart, almost to the day.

0
ProgrammingDEV Community ·

Does your agent actually remember, or just sound like it? A 120-line open-weight test

A friend asked me a question I couldn't answer about his own AI agent: does the thing answering me today actually remember being yesterday's, or is it just very good at sounding like it does? He owns the agent. He can't see its memory from the outside. And the people who sell the memory layer have every reason not to hand him a test that might fail. So I built him one.

0
ProgrammingDEV Community ·

PrepPal: How I Built an Adaptive, Open-Source AI Mock Interviewer for My Anxious Batchmate

This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend Every placement season on campus, the same story unfolds: brilliant engineers who can write flawless code freeze up the moment an interviewer asks them to explain concepts out loud. PrepPal (Adaptive Performance-Based Technical Interview Bot) — an intelligent, conversational mock interviewer that adapts to how well the candidate is actually doing in real time. Natural, Concise Dialogue: Follows strict conversational pacing (one short follow-up at a time, zero lecturing, and a filter that bans robotic phrases like

0
ProgrammingDEV Community ·

What a Product Engineer Actually Does

The title product engineer can sound broader than it is. In practice, it is A product engineer stays involved in the decisions around the code. On a The role works well when the brief is not yet a complete specification. An That continuity reduces clarification cycles. It does not remove the need for Clarify who uses the workflow, what they need to complete, and which part Map the main path and the states around it: loading, empty, error, permission, Build the workflow with React, Next.js, and TypeScript, using reusable patterns Add authentication, APIs, data, automation, or AI services when t

0
ProgrammingDEV Community ·

Guide to Multilingual Voice AI Applications

Introduction Voice AI is moving from novelty to mainstream—think of virtual assistants that can speak in any language, customer support bots that understand accents, and content creators who can generate localized audio on the fly. If you’re a developer looking to build multilingual voice applications, you’ll need to combine several moving parts: natural‑language understanding, text‑to‑speech (TTS), and, increasingly, voice cloning for brand consistency. This guide walks you through the core concepts, shows you how to get started with real code, and explains why ElevenLabs is a solid choice fo

0
ProgrammingDEV Community ·

I Dropped Zebra's SDK From My Flutter Printer Plugin. Here's What Shipping Taught Me

How to print to Zebra label printers from Flutter over Bluetooth LE and Wi-Fi on iOS, Android, macOS, and Windows, without the Link-OS SDK or Apple's MFi approval, and the printer quirks that cost me the most time. Short answer, if you came here from a search: to print to a Zebra printer from Flutter, connect over Bluetooth LE or Wi-Fi (TCP port 9100), send ZPL, and check the printer's ~HS status before each job. The open-source flutter_zpl_printer package does this in pure Dart, with no Zebra SDK, on iOS, Android, macOS, and Windows. In March I published Stop Fighting Raw ZPL. It showed a two

0
ProgrammingDEV Community ·

Guide proposes worksheet method to test TLS certificate rotation across endpoints

A DEV Community article provides a worksheet for testing TLS certificate rotation across termination points. It advises treating each stage of a certificate deployment as a separate observable condition. The method starts by identifying all endpoints that terminate TLS for a hostname. The worksheet is an operational proposal to help ensure new certificates are correctly loaded and served. The article includes a Bash example using OpenSSL for testing connections.

0
ProgrammingDEV Community ·

AI evolution: From chatbots to autonomous 'agentic' systems that execute tasks

The AI industry is transitioning from basic prompt-response chatbots to autonomous 'agentic' systems. These systems act as digital workers capable of planning, using tools, maintaining memory, and self-correcting to complete tasks independently. Key capabilities include breaking complex goals into steps, calling external APIs and databases, and debugging their own code errors. The field is now advancing toward multi-agent orchestration, where specialized agents collaborate under supervision to handle larger workflows.

0
ProgrammingDEV Community ·

Developer details creation and design challenges of browser-based Fruit Merge Game

A developer recently created a browser-based puzzle game called Fruit Merge Game, where players combine matching fruits. The development process revealed unexpected complexity in perfecting the game's physics to make fruit movement feel natural and strategic. The game includes multiple evolution routes and tools to add depth beyond the simple merging mechanic. The developer focused on making the game instantly playable online without downloads or accounts, while ensuring performance across different devices.

0
ProgrammingDEV Community ·

Developer finds learning math in parallel improves DSA problem-solving intuition

A developer reports that studying Data Structures and Algorithms alongside mathematical banking concepts has significantly improved their learning process. They note that spaced revision and comparing multiple solution approaches has enhanced their coding intuition. The developer observes that their notes have transformed from external references into personal understanding. They intend to continue this combined study to see further compounded benefits.

0
ProgrammingDEV Community ·

Track startup funding via SEC Form D filings using Python automation

SEC Form D filings provide early, detailed data on private company funding rounds that often precedes public announcements. This method reveals funding amounts, company details, and executive information not always disclosed through traditional platforms. The process involves filtering out non-startup entities like investment funds and handling technical aspects like API rate limits. A Python script automates extraction of this data into usable formats for sales, recruiting, and investment analysis. The tool focuses on operating companies that raised significant capital within specified timeframes.

0
ProgrammingDEV Community ·

Go module design blocks npm-style worm attacks but retains security exposure points

An August 4 npm worm spread through hundreds of packages by exploiting preinstall script execution and stolen publishing tokens. Go's module system prevents similar attacks by design since no code runs during dependency downloads and modules lack publishable registries. However, Go dependencies execute with full environment access during commands like go test, potentially exposing tokens and secrets. The worm succeeded on npm because poisoned packages carried valid provenance signatures from compromised release pipelines.

← NewerPage 725 of 3159Older →