SShortSingh.

Programming

0
ProgrammingDEV Community ·

Developer Deploys Portfolio on AWS S3 and CloudFront at Cloud Workshop Day 1

A participant in a Cloud Workshop successfully deployed a personal portfolio website on Day 1 using Amazon S3 and Amazon CloudFront. An S3 bucket was created in the Europe (Stockholm) region to host static website files, including an index.html with sections like Home, About, Skills, and Projects. A CloudFront distribution was then configured with the S3 bucket as its origin to enable efficient global content delivery. Once the distribution was enabled, the portfolio was accessible via the CloudFront domain URL. The hands-on session provided practical exposure to core AWS services and the basic workflow of deploying a static website on the cloud.

0
ProgrammingDEV Community ·

How a team discovered one-third of its deploys bypassed safety checks

A late-night deployment at a software team broke search functionality for 40 minutes after it skipped integration testing, staging, and mandatory second approval by using an emergency release path. An audit revealed that 31 of the previous 90 production deploys had used this fast-track route, none of which qualified as genuine emergencies. The root cause was a standard pipeline that took over an hour on average, making the six-minute emergency path a rational shortcut — and no system existed to track or flag its use. The team responded by labelling every deploy with its path, requiring a typed justification for emergency releases, and running full tests post-deploy with automatic rollback on failure. They also cut the standard pipeline from 52 minutes to 14 by parallelising tests and fixing flaky ones, reducing emergency path usage to just two out of 90 deploys.

0
ProgrammingDEV Community ·

AI Makes Code Easy to Produce, So Tech Interviews Are Shifting to Test Judgment

For roughly 15 years, coding interviews relied on take-home projects or whiteboard exercises as proof of ability, but AI tools have made producing plausible code trivially easy, undermining those artifacts as reliable signals. Hiring practices are now evolving toward conversation-based formats that assess a candidate's reasoning, such as diagnosing slow services, spotting flaws in code, or explaining past design decisions and their tradeoffs. These questions demand real-time judgment that cannot easily be borrowed from an AI, making them more resistant to shortcuts. Experts advise candidates to practice thinking aloud, preparing honest stories about past decisions, and pairing admissions of uncertainty with a clear plan to find answers. Professional reputation and personal references are also gaining weight, as vouching from colleagues is harder to fabricate than any submitted work.

0
ProgrammingDEV Community ·

Developer Deploys Personal Portfolio on AWS Using S3 and CloudFront CDN

A developer named Supriya recently hosted her personal portfolio website on Amazon Web Services using Amazon S3 for static file storage and CloudFront for content delivery. She created an S3 bucket to store her website files, including the main index.html, which contains sections covering her education, projects, skills, and experience. A CloudFront distribution was then configured with the S3 bucket as its origin, enabling the CDN to cache and serve content from edge locations for reduced latency. When a user visits the portfolio, CloudFront intercepts the request, fetches the relevant content from S3, and delivers it to the browser. The project provided Supriya with hands-on experience in cloud deployment, covering the full workflow from local development to a publicly accessible AWS-hosted website.

0
ProgrammingDEV Community ·

How to Find and Remove Redundant Database Indexes Without Breaking Foreign Keys

A composite index like (import_id, file_path) already covers queries on import_id alone due to B-Tree's leftmost prefix property, making a separate single-column index on import_id redundant. Keeping such duplicate indexes wastes disk space, slows down write operations, and unnecessarily expands the query optimizer's decision space without offering any read benefit. MySQL's built-in sys.schema_redundant_indexes view and Percona's pt-duplicate-key-checker tool can automatically detect these redundant indexes and generate the corresponding DROP statements. However, developers must verify that a foreign key constraint does not solely depend on the index being removed, as dropping such an index triggers ERROR 1553. A safe removal approach involves wrapping the migration in reversible up/down steps and confirming that an existing composite index already satisfies the foreign key's indexing requirement.

0
ProgrammingDEV Community ·

CS Student Deploys React Portfolio on AWS S3 and CloudFront, Learns From Errors

A computer science student documented their first hands-on experience building and deploying a personal portfolio using React, AWS S3, and CloudFront as part of a self-directed cloud workshop. The project began as a simple HTML file before being converted into a React and Vite application with structured components for skills, projects, and education. During deployment, the student encountered an S3 AccessDenied error caused by missing public-access settings and an incorrect bucket policy referencing the wrong bucket name. A further CloudFront misconfiguration added to the debugging process, ultimately requiring the student to trace each error back to its root cause. The experience highlighted the importance of understanding cloud infrastructure configuration rather than copying settings without context.

0
ProgrammingHacker News ·

Lingo.dev Seeks Senior Content Engineer for Remote Role Worldwide

Lingo.dev, a startup backed by Y Combinator's F24 batch, is hiring a Senior Content Engineer on a fully remote basis open to candidates globally. The company posted the job listing on its careers page, with the role details available through a dedicated application link. The position reflects the company's ongoing efforts to grow its technical team as it scales its localization platform. No further details about compensation or specific responsibilities were publicly disclosed in the listing.

0
ProgrammingDEV Community ·

How to Build a Mental Health AI Agent: Key Features, Compliance, and Costs

Advances in large language models and natural language processing now allow developers to build AI agents capable of handling complex mental health support workflows, going well beyond basic chatbots. Unlike general-purpose bots, mental health AI agents must manage sensitive personal data, detect emotional distress, and operate under strict safety and compliance requirements. Core features include natural language understanding, sentiment and emotion detection, personalized interactions, and crisis escalation protocols that connect users to human support when needed. Developers are cautioned that such systems should never act as autonomous therapists or make clinical decisions without professional oversight. Understanding the technical architecture, regulatory requirements, and real-world development costs is considered an essential starting point for any team planning to build in this space.

0
ProgrammingDEV Community ·

Crisp, Help Scout, Chatwoot: How pricing models diverge as support teams grow

A detailed cost comparison of three customer support platforms — Crisp, Help Scout, and Chatwoot — reveals that pricing architecture matters more than headline rates. Crisp uses flat-fee tiers with included agent slots, meaning teams of 3 or 8 can pay the same $95 per month on the Essentials plan. Help Scout charges per seat at $25 per user per month, making every new hire an added recurring cost. Chatwoot offers both a per-agent cloud plan and a self-hosted Community edition that costs nothing per seat, requiring only infrastructure spend of around $48 per month on a basic VPS. At 15 agents, monthly costs range from roughly $48 for self-hosted Chatwoot to $375 for Help Scout Standard, illustrating how the choice of pricing model compounds significantly with team growth.

0
ProgrammingDEV Community ·

Release Notes Are an Underused Learning Resource, Argues Developer

Software developer Asael Shinder argues that release notes are among the most valuable yet overlooked learning tools available to engineers. Written by the people who know a system best, they document real design mistakes, security failures, and corrected decisions in precise language. Unlike tutorials, which present ideal workflows at a fixed point in time, release notes reveal how a tool evolves and where its boundaries lie. Shinder recommends subscribing to releases for three or four core dependencies and spending just 15 minutes a month reading them, focusing on breaking changes and deprecations. He suggests tracing a single surprising item back to its original issue or pull request, where the underlying technical debate often teaches more than formal documentation.

0
ProgrammingDEV Community ·

Subito cuts React dropdown load time from 1,256ms to 96ms using virtualization

Subito's engineering team identified a severe performance bottleneck in their marketplace's Brand filter dropdown, which listed around 1,175 options. On mobile devices with throttled CPUs, opening the dropdown triggered an Interaction to Next Paint (INP) score of 1,256ms — well below Google's 200ms threshold for a 'good' rating. The root cause was React simultaneously mounting over 1,175 component instances the moment the menu opened, creating a large synchronous rendering block. The team resolved this by implementing list virtualization, a technique that renders only the rows currently visible on screen rather than the entire dataset. This targeted fix brought the INP down to 96ms without requiring a full rewrite or heavy third-party libraries.

0
ProgrammingDEV Community ·

Unix Timestamps Explained: How Epoch Time Works and How to Convert It

A Unix timestamp is a numeric value representing the number of seconds elapsed since January 1, 1970 at 00:00:00 UTC, known as the Unix epoch. Developers widely use Unix timestamps in APIs, databases, logs, and authentication systems because they are simple to store, compare, and transmit across platforms. One of the most frequent mistakes is confusing second-based timestamps with millisecond-based ones, which can cause applications to display completely incorrect dates. JavaScript, Python, and Linux each offer built-in methods to retrieve and convert Unix timestamps — such as Date.now() in JavaScript, the time module in Python, and the date +%s command on Linux. When working with any system that uses timestamps, it is important to verify whether the expected unit is seconds, milliseconds, or another format, and to document this clearly.

0
ProgrammingDEV Community ·

Firm Found No Wipe Certificates After 340 Leased Laptops Were Returned

A logistics and asset management firm discovered a critical data security gap after 340 leased laptops were returned to their lessor last spring without verified sanitisation records. An auditor's question revealed that while the company maintained a careful chain of custody for the physical devices, no process existed to confirm that data stored on them had been wiped. The problem extended further: 28 laptops were never returned by users, pre-2021 devices lacked full-disk encryption, and four multifunction printers were sent back on a separate lease with drives that had been caching scanned finance documents. In response, the company overhauled its disposal process so that sanitisation now occurs before collection, with destruction certificates reconciled against the asset register on a per-serial-number basis. Lost devices are now treated as security incidents rather than simple financial write-offs, and all storage-bearing equipment — including printers and network devices — falls under the revised policy.

0
ProgrammingDEV Community ·

CI Secret Exposed for 14 Months After Base64 Encoding Bypassed Log Masking

A software team discovered their container registry deploy token had been visible in CI build logs for fourteen months after an engineer spotted it during a failed build review. The leak occurred because the CI runner's masking system only redacts exact string matches — once the token was base64-encoded for a basic auth header and the shell ran in trace mode, the transformed value was logged unmasked. A second exposure came from the registry returning full request headers in an error response, which the team logged wholesale. To remediate, the team rotated the token, registered all derived secret values explicitly with the runner, banned shell tracing in credential-handling steps, and replaced the long-lived token with a short-lived OIDC credential expiring in 15 minutes. A follow-up automated log scan uncovered a second leaked secret in a separate repository tied to an unowned service.

0
ProgrammingDEV Community ·

How to Spot Early Warning Signs of Company Trouble Before Layoffs Hit

Workplace advisor Asael Shinder argues that companies typically show subtle distress signals for two to three quarters before any official bad news is announced. Common indicators include unfilled vacancies, contractor cuts, shrinking roadmap horizons, unexpected finance requests, and tightened budgets for travel and training. Shinder cautions that any single sign means little, but four or more appearing within the same quarter likely indicate a pattern worth taking seriously. Rather than panicking or disengaging, he recommends quiet, low-cost steps such as updating your CV, alerting your professional network, and reviewing your contract terms. He emphasises that being prepared carries no downside — an updated CV and warm network are valuable regardless of whether the company stabilises or not.

0
ProgrammingDEV Community ·

Why Streaming an Upload Requires an End-to-End Architecture, Not Just a Stream API

Accepting a stream in an upload handler does not guarantee the entire file is never held in memory — it depends on how bytes travel through every layer of the pipeline. A common pattern involving browser files routed through an interactive UI circuit, converted to byte arrays, encoded as Base64, and wrapped in JSON can cause multiple full-file copies to overlap in memory simultaneously. Base64 encoding alone inflates binary data by roughly one third before accounting for the surrounding JSON and transport overhead, making this approach a risk for large or concurrent uploads. A more robust architecture routes the browser's multipart HTTP upload directly to a dedicated endpoint, which passes a stream and declared length straight to storage without intermediate conversions. Even then, frameworks like ASP.NET Core may buffer smaller files in memory and larger ones on disk, so claims of zero-copy or constant-memory usage are rarely fully accurate.

0
ProgrammingDEV Community ·

Software Apprentice Builds 16-Agent Distributed Coding Setup Using Old Mini-PCs

Moses Amani, a software apprentice at Zero One, has shared how he built a multi-machine agentic workflow setup after being thrust into agent-driven development from the start of his role. To avoid crashing a single machine with 16-plus simultaneous AI agents, he repurposed old mini-PCs as headless Unix nodes, linking them into a private mesh network using Tailscale. A tool called Herder handles orchestration across all agent streams, alerting him via dashboard and phone whenever an agent completes a task or requires human input. Amani uses LazyGit, Hunk, and Neovim to review code changes in context before they are integrated. While the setup dramatically increases code output, he cautions that raw line counts are a misleading metric and that high throughput demands equally rigorous human validation.

0
ProgrammingDEV Community ·

AI Red-Teaming and Observability Are Merging Into One Continuous Practice

Engineering teams building large language model features have traditionally treated pre-launch red-teaming and post-launch observability as separate disciplines, but that divide is increasingly collapsing. Real users probe LLM systems far more creatively and persistently than any scheduled red-team exercise can anticipate, meaning vulnerabilities often surface only after a product ships. Unlike conventional software, LLM failures are semantic rather than structural — a jailbroken model returns a successful response with harmful content rather than throwing an error, making standard monitoring tools insufficient. Teams are responding by adopting continuous automated adversarial testing, logging intermediate reasoning steps in agent chains, and deploying lightweight classifier models to flag policy violations in live outputs. The practical implication is that security testing is no longer a pre-launch phase to be completed, but an ongoing operational process that overlaps directly with production monitoring.

0
ProgrammingDEV Community ·

Why Collecting Less Data Now Protects Your Team Later

A data privacy perspective shared on DEV Community argues that organizations routinely collect far more data than they actually need, creating hidden legal and security risks. The author warns that stored data becomes a liability during breaches, as exposed records carry their current sensitivity regardless of when they were collected. Subject access requests and due diligence processes compound the problem by requiring teams to account for every copy of data held. The piece recommends assigning retention periods to every database table, automating scheduled deletions, and logging only the fields genuinely required. As data regulations tighten globally, the author concludes that teams practicing minimal data collection today will be better positioned for compliance tomorrow.

0
ProgrammingHacker News ·

Why Papua New Guinea Captivates One Writer's Imagination

A writer published a personal essay on Substack exploring their ongoing fascination with Papua New Guinea. The piece, shared on Hacker News, attracted points and reader discussion. The article reflects on what makes the country so intellectually and culturally compelling to the author. Papua New Guinea is known for its extraordinary linguistic diversity and largely unexplored landscapes, which often draw outsized curiosity. The post resonated enough with readers to be shared and upvoted on the tech-focused news aggregator.

← NewerPage 1240 of 3229Older →