๐ŸŒ Dev.to

Vox Pupuli Container Statistics

Hello everyone! I am excited to share some updates regarding container statistics. We now have a page where we display the statistics for all our containers. You can find it at https://voxpupuli.org/container_statistics/ . It is built from https://github.com/voxpupuli/container_statistics and is updated every 24 hours. Getting the Downloads For the download count, it scrapes the package HTML pages for the containers. Sadly, this does not work with GraphQL or the API, ...
๐ŸŒ Dev.to

Mobile Touch Controls: Scale-Independent Fix

Issue #46 โ€” Mobile Touch Controls: Scale-Independent Fix Date: 2026-08-08 Label: UX enhancement mobile Milestone: v0.1 The Problem On mobile, touch controls were nearly impossible to tap. The root cause was architectural โ€” #touch-controls lived inside #gameContainer , which receives a transform: scale(~0.58) from scaleGame() on narrow viewports. Everything inside the container shrank together: canvas, HUD, and touch buttons alike. A 64px button became ~37...
๐ŸŒ Dev.to

Responsive Web Design

What is Responsive Web Design? Responsive web design means making a website that can adjust itself according to the screen size. A website can be opened on a laptop, tablet, or mobile phone, so the website should not look broken on smaller screens. For example, a website may have three boxes in one row on a laptop. But on a mobile screen, those three boxes can come one below another. This makes the website easier to use on different devices. We can use CSS Flexbox, Grid, relative units...
๐ŸŒ Dev.to

Learn Rust with me ๐Ÿฆ€

Why Rust? Before starting this series and my articles related to Rust I should address why am I even trying to learn and program in Rust. Honestly the first and most important reason is I feel like doing it, that doesnโ€™t mean I do not have a better reason. Itโ€™s just a rush of learning something new making mistakes and growing my knowledge and my skillset. Also I feel like the path that I am taking as a software developer has a pretty good spot for Rust. Actually thatโ€™s it, I cannot wait to s...
๐ŸŒ Dev.to

I got tired of reverse-engineering design systems by hand, so I built a Chrome extension

I spend a lot of time looking at how websites are put together. My usual process was slow: open DevTools, inspect a few elements, copy colors, check font sizes, look through media queries and write everything down somewhere. That process eventually became a Chrome extension. Design System Extractor reads the visual system of the page in your active tab and packages the results into a ZIP. Version 1.4.0 has now been published on the Chrome Web Store. The basic workflow Open ...
PixelBatch โ€” your entire image toolbox in one app, 14 tools for free, so you don't have to edit images one by one anymore
๐ŸŒ Dev.to

PixelBatch โ€” your entire image toolbox in one app, 14 tools for free, so you don't have to edit images one by one anymore

After spending way too long editing images one by one for my content, I built PixelBatch โ€” a native macOS app that processes whole folders of images in one pass. What it does: Core tools Resize โ€” to exact pixels, a percentage, or presets for Instagram, Facebook, X, LinkedIn, Pinterest, YouTube, and more. One image can be exported in multiple sizes at the same time (for example 1080x1080, 1200x630, and 1080x1920 in a single pass) Crop to exact dimensions or aspect ratios Convert b...
๐ŸŒ Dev.to

I outgrew nohup, so I built a daemonless job manager

I've long used nohup for background processes that I want to run independently of the terminal. These types of jobs are usually long-running, sometimes launched over an SSH connection, and often have dependencies on other jobs. I built Jobman to combine the simplicity of nohup with features I previously wrote one-off shell scripts for, including: retries timeouts dependencies between jobs email or webhook notifications on completion or failure separate stdout and stderr loggi...
๐ŸŒ Dev.to

How Will You Configure Multiple Backend Instances in Apigee X So That If One Goes Down, Traffic Is Routed to Another?

โ€œYou have multiple backend instances. If one instance goes down, how will Apigee X automatically route traffic to another healthy instance?โ€ This sounds like a simple interview question. But if you've worked with Apigee, you know there is more to it than just saying: โ€œI'll configure multiple Target Servers.โ€ The interviewer is really testing whether you understand load balancing, failover, health monitoring, retries, and high availability . In this article, we'll build the s...
HackerNews

Hardware backdoors in some x86 CPUs

Article URL: https://github.com/xoreaxeaxeax/rosenbridge Comments URL: https://news.ycombinator.com/item?id=49219508 Points: 152 # Comments: 49
๐ŸŒ TheVerge

Nitecoreโ€™s latest power bank is the lightest and most compact yet

There's two things you should know about me, your intrepid reviewer: I hate the feature creep associated with modern power banks, and I love shaving grams off the gear I carry when backpacking, bikepacking, and trail running. So imagine my delight when Nitecore released a new generation of its ultralight NB10000 battery. After a few [โ€ฆ]
๐ŸŒ Dev.to

Stop importing `uuid`. `crypto.randomUUID()` has been native since 2021.

The uuid npm package is one of the most downloaded libraries in the JavaScript ecosystem. The vast majority of those installs exist for one thing: uuid/v4 , which generates a random unique identifier in the standard xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx format. The browser โ€” and Node.js โ€” have been doing this natively since 2021. No package needed. The native API const id = crypto . randomUUID (); // "110e8400-e29b-41d4-a716-446655440000" That's th...
๐ŸŒ Dev.to

You built your modal with a `<div>` and a focus trap library. The native `<dialog>` does all of that.

Building a modal from scratch means writing the same boilerplate every time: a <div> with role="dialog" , an aria-modal attribute, a tabindex="-1" to steal focus, a keydown listener to catch Escape, a focus-trap library to keep Tab cycling inside the dialog, and a click listener on the backdrop overlay you rendered yourself. It works, but you're doing the browser's job. The <dialog> element exists to take that job back. The baseline API <dialo...
๐ŸŒ Dev.to

Scraping Ethically: A Practical Guide to Respectful Web Crawling

Scraping Ethically: A Practical Guide to Respectful Web Crawling The single most important thing to understand about web scraping is this: ethical crawling is not a legal gray areaโ€”itโ€™s a technical and reputational survival strategy. If you scrape without respecting robots.txt, rate limits, and site terms, you will get blocked, your IPs will be burned, and you may face legal action. In 2023, the US District Court for the Northern District of California ruled in hiQ Labs v. LinkedIn that ...
๐ŸŒ Dev.to

'Thanks for contacting us' is not proof: four ways a website message disappears

I audit websites from the outside and then write to whoever owns them, which means I spend a lot of time in other people's contact channels โ€” forms, chat widgets, published addresses. Over one week that came to seventy-odd contact pages and around a hundred messages. The thing I did not expect to learn: whether a message arrives is a completely separate question from whether the form works. Four failure modes, all measured, all of them holes that a site owner cannot see from the inside,...
๐ŸŒ Dev.to

Notion to Docmost: what survives the export, and what the databases-to-pages downgrade really costs you

Your prose survives the move to Docmost almost intact. Your databases do not. Docmost ships an importer that reads a Notion HTML or Markdown export and rebuilds pages, hierarchy and attachments, but it has no database concept at all, so every Notion table, board, calendar, relation, rollup and formula arrives as flat page content that you maintain by hand from then on. Decide by asking what share of your workspace is written pages versus structured records, because that ratio, not the import qua...
๐ŸŒ Dev.to

My routing policy and my traces disagreed 96 times. Never once on the main thread.

This is part four of a series about pointing an append-only audit log at things that count tokens. Part one found that a missing model line was half my agent overspend. Part two found two accounting bugs in splitrail. Part three found a 2.35ร— over-count in a 30k-star repo that the vendor's own documentation had warned about. I promised this post at the end of part two and pushed it at the start of part three. Here it is. The first three parts asked whether tools counted correctly. Th...
๐ŸŒ Dev.to

# ๐Ÿ” What Actually Happens When PostgreSQL Executes a SELECT Query?

When we write: SELECT * FROM users WHERE id = 100 ; it looks incredibly simple. We send SQL. PostgreSQL gives us rows. But what actually happens between those two steps? There is a lot going on internally. Understanding this process changed the way I think about database performance. Instead of thinking: "I wrote a query and PostgreSQL executed it." I started thinking: "What path does PostgreSQL take to turn my SQL into actual d...
๐ŸŒ Dev.to

๐Ÿค– AI Context Engineering (Part 4): AI Agents - From Tool Calling to Multi-Step Workflows

In Part 1 , we explored why modern AI systems need more than carefully written prompts. In Part 2 , we looked at tokens, context windows and memory and why simply adding more context doesn't necessarily produce better results. In Part 3 , we went one step further: RAG helps retrieve relevant information. Tool Calling lets an AI application interact with external systems. MCP provides a standardized way for AI applications to interact with tools. But there's one ...
๐ŸŒ Dev.to

MUI to Shadcn: 7 Pitfalls We Hit (And the Fix for Each)

We replaced MUI with Radix + Shadcn across a multi-tenant SaaS dashboard over the last quarter. Bundle size dropped. Theming finally made sense. Our design system stopped being two different design systems wearing a trench coat. It also wasn't smooth. Most "migrate to shadcn" posts you read online are clean. They show you the add command, the new component, a screenshot, and call it done. That's not a migration. That's a greenfield. A real migration is six different teams with five diffe...
๐ŸŒ Dev.to

llms.txt: what it is, why it matters and how to implement it

In December 2024, Jeremy Howard, the creator of fast.ai, proposed a simple standard: an llms.txt file placed in a domain's root directory, telling AI systems about the structure and content of the site. The standard is supported by Anthropic (Claude), Perplexity and a dozen or so other AI tools. Implementation cost: a few minutes. Potential effect: better understanding of your site by AI systems. What is llms.txt? llms.txt is a Markdown-format text file placed at yourdomain.com/l...
๐ŸŒ Dev.to

How GSTIN Checksum Validation Works (and Why It Isn't Enough)

Every Indian GST invoice carries a 15-character GSTIN. If you've ever had to validate one in code, you've probably written a regex like this and called it done: /^ [ 0 - 9 ]{ 2 }[ A - Z ]{ 5 }[ 0 - 9 ]{ 4 }[ A - Z ]{ 1 }[ 1 - 9 A - Z ]{ 1 } Z [ 0 - 9 A - Z ]{ 1 } $ / That regex checks the shape of a GSTIN. It says nothing about whether the number is real. A typo that happens to land on a syntactically valid string will sail str...
๐ŸŒ Dev.to

One Prompt Template, Three Engines That Disagree

Written against main at the time of publishing. Every regex and line number is cited so you can re-check with grep -n and there's a runnable reproduction at the end that needs no build. TL;DR A PROMPT_TEMPLATE artifact in Apicurio Registry is rendered by three different pieces of code that don't share an engine and don't agree on what a template means beyond a plain {{name}} . Add a space, a dot, or an {{#if}} block and the same stored template renders three differe...
๐ŸŒ Lobsters

โ€˜Farewell, Etaoin Shrdluโ€™

Perhaps does not meet the bar for topicality, but it feels very relevant to the current software zeitgeist. "It's inevitable that we're going to go into computers. All the knowledge I've acquired over these 26 years is all locked up in a little box now called a computer. I think most jobs are probably going to end up the same way." @13:51 More direct source from the New York Times: https://www.nytimes.com/video/insider/100000004687429/farewell-etaoin-shrdlu.html YouTube mirror for those ...