SShortSingh.
Back to feed

Developer Builds CSS-Only Salvadoran Pupusa Scene With Day-Night Light Switch

0
·3 views

A developer from El Salvador has created a fully CSS-rendered illustration of a traditional pupusa table as a submission to the Frontend Challenge Comfort Food Edition. The artwork depicts pupusas — El Salvador's national dish of stuffed corn tortillas — served with curtido and tomato salsa, evoking the atmosphere of a nighttime street food stall. Built using only CSS gradients, blend modes, and border-radius with just 15 lines of JavaScript for class toggles, the piece features no images, SVG, or external libraries. Interactive buttons let users pour salsa over the pupusas or switch the scene to a candlelit night mode using a single overlay div with mix-blend-mode. The project also incorporates accessibility features including ARIA roles, labeled buttons, and a prefers-reduced-motion setting that freezes animations rather than removing them entirely.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Open-Source RTL8852AU WiFi 6 Driver Brings Modern Wireless Support to Linux

A developer has published an open-source Linux driver for the Realtek RTL8852AU WiFi 6 USB adapter on GitHub. The project, shared via DEV Community, aims to fill a gap in native Linux support for this widely used wireless chipset. The driver enables Linux users to leverage WiFi 6 capabilities that were previously unavailable or unreliable on the platform. The repository, maintained by WimLee115, provides build instructions for users to compile and install the driver on their systems. The release reflects the broader community effort to improve hardware compatibility on Linux through open-source contributions.

0
ProgrammingDEV Community ·

How to Fix Ansible Bootstrap Playbooks Failing on Fresh Cloud Servers

Ansible bootstrap playbooks often fail on the first run against newly created cloud instances due to a timing race between the control node and cloud-init, which hasn't finished configuring SSH and user accounts when Ansible attempts its first connection. Common symptoms include SSH connection refusals, sudo password errors, and dpkg lock conflicts — all stemming from the same root cause rather than separate bugs. The issue affects major cloud providers including AWS EC2, Hetzner, and DigitalOcean. The recommended fix is to use Ansible's built-in wait_for_connection module as the first task in the playbook, combined with a wait_for check on the cloud-init completion marker at /var/lib/cloud/instance/boot-finished. Developers should also set gather_facts: false at the play level to prevent Ansible from attempting fact-gathering before readiness checks have passed.

0
ProgrammingDEV Community ·

GeoIcons brings 422 country and area icons to Angular as standalone components

A new open-source package called GeoIcons fills a long-standing gap in Angular's icon ecosystem by offering 422 country and area icons as standalone components. Each icon is identified by its ISO 3166 alpha-2 code in PascalCase, allowing developers to import only the icons they use, keeping bundle sizes lean. The package requires Angular 15.1 or newer due to its use of hostDirectives, with self-closing tag syntax supported from Angular 16 onward. Styling is handled through explicit inputs — including size, stroke, fill, and aria-label — since Angular does not support attribute spread. Installation is a single npm command, and a live catalog is available at geoicons.io.

0
ProgrammingDEV Community ·

How one developer made AI-generated code safe to merge without manual review

A developer running multiple AI coding agents in parallel found the daily volume of code changes exceeded what any human could feasibly review in a working day. Rather than reducing output, he restructured his workflow so that potential issues are caught automatically before code reaches the review stage. He achieved this by enforcing strict linting rules — including complexity limits and TypeScript strict presets — as hard errors that AI agents, unlike human engineers, never push back against. Exceptions to these rules are tracked in a visible config file with written justifications, making rule erosion easy to spot. Critical logic is also extracted into pure, tested functions so that decisions made by automated tools remain verifiable and auditable.