🌍 Dev.to

How to Handle O365 Shared Mailboxes in CI/CD Test Automation

Testing email workflows—like OTP verification, password resets, or automated notifications—is a core requirement for robust end-to-end (E2E) automation. However, automating Office 365 (O365) Shared Mailboxes via UI logins or legacy IMAP basic authentication is a nightmare. UI logins trigger MFA, IMAP basic auth is deprecated across Microsoft 365, and browser automation for Outlook web is notoriously flaky. The enterprise-grade solution? Use Microsoft Graph API with Client Credentials (Ap...
🌍 Dev.to

Count the Resolver, Not the Query, to Catch a GraphQL N+1

You will catch a GraphQL N+1 much earlier by counting how many times your batch loader is called against a temporary mock server than by measuring response time, because latency tests hide the problem behind small local datasets, in-memory caches, and a developer machine that is simply too fast to notice. The classic mistake is to add a deeply nested field, run one query that returns three posts, see a snappy response, and ship. That query may call the author loader three times instead of once, ...
Your dog walker says they went. This makes the walk say so too.
🌍 Dev.to

Your dog walker says they went. This makes the walk say so too.

This is a submission for Weekend Challenge: Dog Days Edition TL;DR — A walker records the walk on their phone, the route is hashed in the browser, and a 147-byte attestation signed by the walker's own key lands on Solana devnet. The owner checks the trace they were handed against the chain, and the app tells a tampered route apart from a corrupted file. Move one GPS fix eleven metres and the hash changes completely. That's the whole product. What I Built My ...
🌍 Dev.to

Raku: a language that counts to infinity (Part 1)

We've already seen that Raku understands characters like ∞ , and it would be logically that you can use them with ease, similar to any other constructs of the language. Take, for example, a sequence with no definite end. You define a pattern and take as many items as you need. say (1, 1, * + * ... ∞)[^10]; Here, the pattern defines a Fibonacci sequence and we only take the first 10 elements of it: (1 1 2 3 5 8 13 21 34 55) You don't know upfront what the 10 th element will be, s...
🌍 Dev.to

Week 9 of #100DaysOfCode: A Week of Deep Spring Learning

Introduction This week, I decided to slow down and go deeper into the Spring Framework . Instead of focusing heavily on building new features, I spent most of my time understanding what happens behind the scenes in the framework I use to build backend applications. I explored concepts around Spring AOP, JDBC, Caching, Reactive Programming, and Concurrency , learning not just how to use these features, but the problems they are designed to solve. Alongside my learning, I continued ...
AIOps Is More Than Just a Chatbot
🌍 Dev.to

AIOps Is More Than Just a Chatbot

It started with a Discord bot React ChatBotify is an open-source project I maintain, and part of that meant looking after its websites and servers. When things went wrong, the usual routine was to check services, inspect logs, and at times, the fix was as simple as a restart. Sometime in late July 2025, I started playing with a fairly simple idea - what if I could troubleshoot the infrastructure behind React ChatBotify simply by talking to a Discord bot? The idea wa...
🌍 Dev.to

Fixing Low USB-C Audio on Fedora Linux: My Battle with the Razer Leviathan

TL;DR: If you have a Razer Leviathan connected via USB-C on Linux and the volume is incredibly quiet even at 100%, PipeWire is likely crushing your ALSA hardware baseline on boot. Just paste this script into your terminal to automatically fix it every time you log in: # 1. Create the necessary directories mkdir -p ~/.local/bin mkdir -p ~/.config/autostart # 2. Write the volume-fixing script cat << ' EOF ' > ~/.local/bin/fix-razer.sh #!/bin/bash # Wait for Pi...
🌍 Dev.to

Cleared Kimi Slides Repository Leaves Its Core Claims Unverifiable

GitHub’s page for Binaryify/open-kimi-ppt-skill says the repository was archived and made read-only after its contents were cleared for copyright reasons. That removal is the central fact about the project now: its listing still promises an unofficial Kimi Slides skill for AI agents, editable PPTD and PPTX output, and a local browser editor, but the repository provides no code with which to inspect those promises. The project’s visibility has outlasted its implementation. GitHub displays 1....
🌍 Dev.to

OrioleDB Multi-Version Concurrency Control

MVCC not only tracks row history but also records the search-key space. To better understand PostgreSQL MVCC, it's useful to look at some alternatives. One is zheap, which introduced out-of-place undo logging to rebuild historical row versions by storing old tuples in an undo log instead of the heap. This was done entirely at the table access method level, without modifying the index access method, but it was eventually abandoned. A more recent development is OrioleDB, which extends this approac...
🌍 Dev.to

Why a two-user Convex chat app read tens of MB a day

I was staring at my Convex dashboard, confused. Convex is the reactive backend I use for a chat app: it stores the data and, the part that matters here, it keeps your queries live , so the UI updates the instant the data changes. The dashboard has a meter called "Database Bandwidth," and for two users, me on a dev account and me on a prod account, poking the app for maybe half an hour, it was reading tens of megabytes a day. That made no sense to me. It's a chat app. The actual messages we...
🌍 Dev.to

Why programmatic inserts don't wrap on iOS multiline TextInput, and the one-line native fix

Ran into this last week on a multiline TextInput and lost a chunk of a day to it. Writing it up in case someone else hits the same thing. The bug I've got a multiline TextInput hooked up with react-native-controlled-mentions and a suggestions dropdown above it. You type a trigger character like @ to pick a suggestion from a dropdown, and the library inserts a styled name into the text box. Short insertions are fine but once the text is long enough that the inserted mentio...
🌍 Dev.to

Why a static Three.js scene still cooks your phone, and the dirty-flag fix

So I have a bunch of small games on my site. Ludo, tic-tac-toe, carrom, rock-paper-scissors. Nothing fancy, the kind of thing you'd think runs on a potato. They're built with Three.js , which is the standard library for drawing 3D graphics in a web page. I was testing them on my iPhone and the phone got genuinely hot. Hot to hold. And here's the part that bugged me: I wasn't even doing anything. I was just sitting on the Ludo board waiting for my turn. Nothing on screen was moving. My first ...
HackerNews

Tell HN: Cloudflare silently injects its analytics when you switch nameservers

A few hours ago I switched my nameservers to Cloudflare in order to enable R2 bucket serving through my own subdomain, and I found out that it silently had injected a JS analytics snippet in my HTML-only JS-free site textlog.cc — I had to go to the Analytics dashboard, Add the site to the analytics and then disable the snippet. I find this approach entirely invasive, you should opt-in to features like that not have to opt-out. Just a warning out there to folks who might not be aware of this. ...
HackerNews

MathCode, Mathematical Coding Agent

Article URL: https://math-ai-org.github.io/mathcode/ Comments URL: https://news.ycombinator.com/item?id=49322330 Points: 16 # Comments: 5
HackerNews

Protobuf has LSP support. You're welcome

Article URL: https://buf.build/blog/protobuf-lsp Comments URL: https://news.ycombinator.com/item?id=49322573 Points: 14 # Comments: 4
HackerNews

Models Are Getting Dumber on Purpose

Article URL: https://w4g1.dev/blog/models-are-getting-dumber-on-purpose Comments URL: https://news.ycombinator.com/item?id=49322695 Points: 21 # Comments: 0
🌍 TheVerge

Rogue AI aren’t science fiction anymore

This is The Stepback, a weekly newsletter breaking down one essential story from the tech world. For more on AI safety, follow Robert Hart. The Stepback arrives in our subscribers' inboxes at 8AM ET. Opt in for The Stepback here. How it started It all started in July, when one of OpenAI's autonomous AI agents […]
🌍 TheVerge

ChatGPT’s Computer History tracks your clicks and keystrokes

ChatGPT's desktop app on macOS has a new feature called Computer History that turns your actions into training data, learning how you work, suggesting automations, and even picking up tasks you left half done. It uses your activity to build a timeline that ChatGPT and Codex can reference when you make a request. The feature […]