Dev.to
Creating Robust systemd Services for Embedded Applications
There is a moment every embedded Linux developer hits eventually. You have spent days building something that works beautifully — a sensor pipeline, a streaming server, an MQTT client — and then you reboot the device and everything is silent. Nothing started. You SSH in, manually run your script, and it all comes back to life. The hardware is fine. Your code is fine. You just have no way of automatically running it. That is the gap systemd fills. It is the init system on virtually every modern Linux distribution, and on embedded Linux systems like the Raspberry Pi it is what decides what runs at boot, what gets restarted if it crashes, and where all the logs go. Once you understand how to write a service file, your applications stop being fragile scripts you need to babysit and start being first-class system services that survive reboots, network drops, and unexpected crashes. This tutorial builds up from the simplest possible service file to a production-ready configuration, explaining every line along the way. By the end you will have a service running your own Python application, logging to the system journal, and automatically restarting itself after failures. See Complete Tutorial in Github: Systemd Services Tutorial What systemd Actually Does Before writing any configuration, it helps to understand what problem systemd is solving, because the design of service files makes much more sense once you see the underlying model. When your Raspberry Pi boots, the Linux kernel starts and immediately hands control to process ID 1 — the very first user-space process. On modern systems, that process is systemd . Everything that happens next — mounting filesystems, bringing up the network, starting your application — is orchestrated by systemd. It reads configuration files called unit files that describe what should be started, when, in what order, and what to do if something goes wrong. A service file is just one type of unit file (there are also unit files for timers, so
Supun Sriyananda
2026-06-03 17:51
👁 12
查看原文 →
Dev.to
Your Next PC Is Not a Productivity Tool - It Is a Runtime for AI Agents
At GTC 2026, Jensen Huang said something that made a lot of people pause: the PC is being reinvented. He and Microsoft launched RTX Spark with the N1X chip, cramming petaflop-level AI compute into a desktop form factor. On the surface it looks like another hardware upgrade, but this time the use case is genuinely different. Previous PC performance gains served humans: faster rendering, faster compiling, smoother gaming. This round of compute improvement is largely aimed at AI agents. Agents need to run vision-language models locally, understand screen content in real time, and execute GUI operations. These workloads demand sustained compute resources with a load profile completely different from human computer use. Agents Need Different Hardware Than Humans Humans use computers in bursts: typing, clicking, waiting for responses. The load is pulsed. Agents use computers continuously: constantly capturing screenshots, interpreting the display, making decisions, executing operations. The load is steady-state. This means agents need memory bandwidth and energy efficiency more than peak compute. This explains why Apple's M-series chips perform well in on-device AI scenarios. The unified memory architecture lets GPU and CPU share the same memory pool without data transfers between them, which is highly efficient for model inference that frequently accesses large parameter sets. M-series energy efficiency also suits long-running agent workloads without thermal throttling. NVIDIA's RTX Spark takes another path: more GPU compute and more memory (128GB unified) to handle on-device AI demands. The N1X chip has higher total compute than M-series, better suited for heavy workloads. Different tradeoffs, same destination: AI agents running on the device in front of you. There's Already a Complete Agent Stack on Mac What's worth noting is that the on-device AI agent stack on Apple's ecosystem is already fairly complete. M-series chips at the hardware layer. MLX at the framework lay
Mininglamp
2026-06-03 17:48
👁 7
查看原文 →
Reddit r/webdev
How to properly serve SVG files from crossorigin?
On a website of mine I use around ~50 different tiny SVG icons (1-2KB) per page which I store on a seperate subdomain where I host all my static files that I use across multiple websites. I am wondering what would be the best way to serve those. SVG sprites (a single svg file with each icon wrapped in a symbol tag): Not supported from crossorigin unless weird javascript hacks are being used. 1 request per icon : Seems a bit crazy to do 50+ requests for tiny files? Even with modern http2 this seems to slow the site down and feels like it causes unecessary overhead. Bake SVG into html : This feels the fastest, but it adds like 50kb (a bit less when gzipped) to every html page which seems unecessary as well. How do you do it? What is considered best practice? submitted by /u/Nonilol [link] [留言]
/u/Nonilol
2026-06-03 17:44
👁 6
查看原文 →
Dev.to
Building a Real-Time WebSocket-Based Chat Server with Rust and WASM
Building a Real-Time WebSocket-Based Chat Server with Rust and WASM Building a Real-Time WebSocket-Based Chat Server with Rust and WASM In this tutorial, you’ll build a scalable, real-time chat server using Rust on the backend, WebSocket for bidirectional communication, and WebAssembly (WASM) for a fast, interactive frontend. You’ll learn how to structure a minimal, production-ready system with clean code, testable components, and practical deployment considerations. Overview Goals: Real-time messaging with low latency Safe, fast backend implemented in Rust Frontend capable of connecting via WebSocket and rendering messages efficiently Basic authentication, message persistence, and reconnection handling Testing strategies for end-to-end and unit tests Tech stack: Backend: Rust, Warp or Actix-Web, tokio, tungstenite or tokio-tungstenite for WebSocket Frontend: Rust + WASM (via wasm-bindgen) or a lightweight JS client Persistence: SQLite or PostgreSQL for message history Deployment: containerized (Docker), with a simple reverse proxy (Nginx) in front Prerequisites Rust toolchain installed (rustup, cargo) Basic knowledge of Rust and asynchronous programming Node.js/npm if you choose a JS frontend (optional since you can use Rust WASM) SQLite or PostgreSQL installed locally for testing 1) System design and data model Clients connect via WebSocket and join a chat room. The server maintains in-memory state for active connections and broadcasts messages to all connected clients in the same room. Messages are persisted to a database for history. Reconnection: clients reconnect on network hiccups; server replays recent history upon join. Scalability note: for multiple instances, use a message broker (Redis pub/sub) to broadcast messages between workers. Data model (simplified) Users: id, username Rooms: id, name Messages: id, room_id, user_id, content, timestamp 2) Backend: Rust WebSocket server Key components HTTP upgrade to WebSocket Per-room broadcast hub Connection manag
Rizwan Saleem
2026-06-03 17:40
👁 12
查看原文 →
Dev.to
🚀 StudyQuiz v1.1.0 — UX Enhancements, Integration Tests, and Reliability Improvements
StudyQuiz has moved forward since the first frontend MVP release. This update focuses less on adding major new features and more on making the app smoother to use, safer to change, and more reliable in production. What’s New Logout functionality Call-to-action section on the user dashboard Edit and delete functionality for questions and answers Guest Mode restrictions for editing and deleting questions and answers Integration tests for core backend workflows Improved Enhanced quiz user experience and feedback Improved quiz creation user experience Improved navigation across the application More reliable page reload behavior for protected routes Fixed Fixed 500 errors when reloading protected frontend pages Fixed production database session configuration issues Improved reliability around authentication-protected routes Why This Release Matters This release is mainly about stability and maintainability. I added integration tests and a GitHub Actions workflow so future changes are checked automatically before they silently break existing behaviour. StudyQuiz now feels closer to a maintainable product rather than just a working prototype. Coming Next The next major focus is slide upload and AI-assisted quiz generation, allowing users to generate structured quizzes more directly from their study materials. Repo: github.com/aissa-laribi/studyquiz Live app: https://www.studyquiz.co
Aissa Laribi
2026-06-03 17:38
👁 5
查看原文 →
Dev.to
Day 5 — Entering the World of Classification
Today I started Week 3 of the Machine Learning Specialization and learned about Classification. Until now, most of my learning focused on regression, where models predict numerical values. Today I discovered that many real-world problems involve predicting categories instead. Some examples include: Detecting spam emails Predicting whether a customer will leave or stay Identifying whether a tumor is malignant or benign I also learned about Logistic Regression. Despite its name, it is used for classification tasks. The model predicts probabilities that help determine which class an example belongs to. Another important concept was the Decision Boundary, which is used to separate different classes based on predicted probabilities. To reinforce my understanding, I completed the graded assignment for this section. This week feels like an important step because classification is widely used in real-world machine learning applications. 🚀 Looking forward to learning more about classification models and improving my understanding of machine learning. MachineLearning #AI #DataScience #Python #LearningJourney
Rehana Hassan Muhumed
2026-06-03 17:38
👁 7
查看原文 →
Dev.to
Why we built nudges before we built the dashboard (and why you should too)
Most SaaS founders build the dashboard first. It looks impressive in demos, investors love screenshots, and it feels like real progress. We did the opposite. Here's why. The real reason approvals fail When I started building TeamAutomation, I interviewed a dozen people about their approval process. Every single one said the same thing — approvals don't fail because people reject them. They fail because nobody follows up. The requester sends the request. The approver gets busy. Nobody wants to be the annoying person who keeps pinging. Days pass. Project blocked. A dashboard showing "pending approvals" doesn't fix this. The approver still has to remember to open it. Nudges are the product We ship automatic reminders at 24 hours, 3 days, and 7 days — directly in Slack where the approver already lives. No new app to open. No new habit to build. The accountability shifts from the requester to the system. That's the whole unlock. What we learned Build the thing that changes behavior first. The dashboard is just reporting. Nudges are intervention. If you're building any kind of workflow tool, ask yourself — what happens when nobody does anything? Your answer to that question is your core feature. What's next Still in early beta. Slack Directory approval pending. Zero users, full transparency. If you're dealing with approval chaos in your team, drop a comment — happy to give early access.
Mahad Tahir
2026-06-03 17:38
👁 9
查看原文 →
Dev.to
AI as a Thin Client and the Crisis of Knowledge Succession: An Academic Analysis
Two Hypotheses In the contemporary discussion about artificial intelligence, two distinct hypotheses intersect and are often conflated. The first hypothesis describes AI as a thin client between intention and result. Historically, a chain of translators existed between a concept and an artifact. A person formulated a task for a programmer, the programmer wrote code, the code became a program. A screenwriter passed an idea to a studio, the studio hired a VFX team, the team produced a film. A composer worked with musicians and a studio to record a track. AI shortens this chain, allowing a result to be obtained directly from a natural language prompt. The second hypothesis is more radical. It asserts that AI washes out not only performers but also apprentices. The main function of many professions was not the production of the current result, but the reproduction of knowledge. A junior was needed not because he is useful today, but because in five years he will become a senior. A student was needed not to create value now, but to become an engineer. A doctoral candidate was needed not for brilliant papers, but to undergo the school of scientific thinking. The Destruction of the Apprenticeship Mechanism The classical model of competence growth was built on review. A junior wrote code, a senior dissected it, extracted the substrate of experience, and transmitted professional intuition. Each review was an act of knowledge transfer. The new model looks different. A person formulates a prompt, AI generates the result. If code of acceptable quality appears immediately, the economic need for a junior declines. Along with it, the mechanism through which knowledge was transmitted disappears. A structural question arises that goes beyond the labor market. Where will the next seniors come from if the intermediate link does not undergo the path of learning through mistakes and reviews. This is a problem of competence reproduction, not simply automation. The Transformation of Educa
oleg kholin
2026-06-03 17:37
👁 9
查看原文 →
Dev.to
How I built an E2EE chat in Go + React (with AI agent support)
🚀 Try it now: Open the Arthas web app — create a room, share the code, chat with E2EE. No signup needed. TL;DR — Try It in 2 Minutes No signup required. A free public server is running at wss://arthas100-arthas-server.hf.space/ws . 1. Create an encrypted room (CLI) # Linux/macOS — download and make executable curl -L -o arthas-cli https://github.com/michaelwang123/arthas/releases/latest/download/arthas-cli chmod +x arthas-cli # Windows (PowerShell) — download the .exe # curl.exe -L -o arthas-cli.exe https://github.com/michaelwang123/arthas/releases/latest/download/arthas-cli-windows-amd64.exe # Create a room — generates AES-256 key locally, outputs share code ./arthas-cli create --server wss://arthas100-arthas-server.hf.space/ws --name "Alice" # Windows: .\arthas-cli.exe create --server wss://arthas100-arthas-server.hf.space/ws --name "Alice" # Output: # ✓ Room created! Share code: # QYEq9uxfKP9h-KCUsPUay:NlZezXoUErYr92grhif3Y-Hy3FOOK1ocb3WocCJJrQM # # The encryption key never leaves your device. ⚠️ Keep this terminal open — the room exists only while at least one participant is connected. 2. Join from another terminal (or send the code to a friend) # Linux/macOS ./arthas-cli join QYEq9uxfKP9h-KCUsPUay:NlZezXoUErYr92grhif3Y-Hy3FOOK1ocb3WocCJJrQM \ --server wss://arthas100-arthas-server.hf.space/ws \ --name "Bob" # Windows # .\arthas-cli.exe join QYEq9uxfKP9h-KCUsPUay:NlZezXoUErYr92grhif3Y-Hy3FOOK1ocb3WocCJJrQM --server wss://arthas100-arthas-server.hf.space/ws --name "Bob" That's it — you're chatting end-to-end encrypted. The server only sees ciphertext blobs; it cannot read, store, or parse anything. 💡 Prefer a web UI? Open the Arthas web app , create a room, and share the code. Bonus: Connect an AI Agent to the Same Room Every AI agent channel today (Telegram bots, Slack apps, Discord) transmits prompts in plaintext. With Arthas, your AI joins the encrypted room as a regular participant — the server can't tell human from bot (both are encrypted binary blobs). npm
Brad Pitt
2026-06-03 17:37
👁 11
查看原文 →
Dev.to
Am I Becoming Too Slow for the AI World?
The AI world is full of old infrastructure with stochastic organs. That sentence probably explains...
marcosomma
2026-06-03 17:30
👁 5
查看原文 →
Engadget
Researchers show how AI-powered worms could wreak havoc on the internet
Researchers created an AI-powered worm that that can spread through networks with no human intervention.
staff@engadget.com (Steve Dent)
2026-06-03 17:19
👁 6
查看原文 →
The Verge AI
AI has a water problem. Google thinks it has a fix
In the face of widespread backlash to the AI data center buildout throughout the US, Google is touting its efforts to minimize the environmental impact by actually increasing water for local communities. The company laid out five commitments around water use in a new blog post published Wednesday, including a goal to replenish more water […]
Lauren Feiner
2026-06-03 17:00
👁 6
查看原文 →
InfoQ
Article: Two Misconfigurations That Caused Spark OOM Failures on Kubernetes
After migrating Spark pipelines to Azure Kubernetes Service, two infrastructure settings interacted destructively: spark.kubernetes.local.dirs.tmpfs=true backed shuffle spill with RAM instead of disk, and a hard podAffinity rule forced all executors onto one node. Together, they caused repeated OOM kills invisible to standard diagnostics. By Pranav Bhasker
Pranav Bhasker
2026-06-03 17:00
👁 10
查看原文 →
Wired
Redditors Are Using AI to Beat Obscene World Cup Ticket Prices
Soccer fans on r/WorldCup2026Tickets are using Claude to build DIY ticketing software, exchanging on back channels, and leaving scalpers scrambling.
Alex Christian
2026-06-03 17:00
👁 10
查看原文 →
Reddit r/webdev
Advice needed: Best low-cost tech stack for a SaaS MVP (Frontend-heavy solo dev)
Hey everyone, I recently landed a freelance gig to build out a complete SaaS platform from scratch. The client is incredibly generous and is treating this as an opportunity for me to learn and implement things as we proceed with development. I want to make sure I choose the right architecture from day one. I can't reveal the exact idea, but it functions as a two-sided platform connecting service providers with end-users. I need to pick a tech stack that plays to my strengths while keeping infrastructure costs as close to zero as possible. Here is my profile and the project constraints: - My Background: I am a frontend-heavy developer. My backend knowledge is only "okay-ish," so I’m looking for a stack that minimizes complex backend boilerplate and dev-ops headaches. - Timeline: I have 4 to 5 months maximum to build and fully deploy the MVP. - Strict Budget: The monthly budget for deployment, database, and any necessary transactional emailing cannot exceed $40/month for the MVP phase. - Expected Scale: To start, the web app needs to comfortably sustain 100 service providers and roughly 1,000 active users. - Payments and subscription : Stripe - Team Size: It's just me (Solo dev). Based on current trends, I've been leaning toward a meta-framework (like Next.js) paired with a BaaS (like Supabase or Firebase), but I’d love to hear from folks who have recently shipped something similar. Questions for the community: What specific tech stack would you recommend that allows a frontend dev to move fast without getting bogged down in backend setup? - Are there specific databases, ORMs, or auth providers you'd suggest that will confidently keep me under that $40/month limit for my expected user count? - Any hosting or deployment "gotchas" I should watch out for when launching a two-sided platform on a shoestring budget? Appreciate any guidance you can share! Note : Used AI for articulation. submitted by /u/chutneypow [link] [留言]
/u/chutneypow
2026-06-03 16:53
👁 5
查看原文 →
The Verge AI
Google must let publishers opt out of AI Search features, rules UK
Online publishers are getting more control over whether their websites appear in Google's AI Search features, thanks to a UK regulatory ruling. The new conduct rule imposed by the Competition and Markets Authority (CMA) requires Google to let website owners keep their content out of features like AI Overviews and prevent it from being used […]
Jess Weatherbed
2026-06-03 16:45
👁 10
查看原文 →
Reddit r/artificial
MiniMax M3 is out: 1M context, open weights coming soon, 83.5 BrowseComp against Claude Opus 4.7's 79.3
MiniMax released M3 today and the API is already live. Worth separating what comes from their own official model page versus what comes from the launch announcement, because some of the numbers are sourced differently. From the official model page: BrowseComp 83.5, ahead of Claude Opus 4.7 at 79.3. PostTrainBench 37.1, which ranks third behind Opus 4.7 at 42.4 and GPT-5.5 at 39.3. From the launch announcement: SWE-Bench Pro 59.0%, Terminal Bench 2.1 66.0%, MCP Atlas 74.2%. The headline "beats Opus" is BrowseComp-specific, not a general capability claim across all dimensions. The context window is up to 1M tokens, implemented through their in-house MiniMax Sparse Attention architecture. They state 512K as the guaranteed minimum with 1M as the ceiling. The model was trained on 100T+ tokens and is natively multimodal rather than vision being added after the fact. Open-weights release is coming to HuggingFace and GitHub but listed as "coming soon." API access is available now through several paths, including OpenAI-compatible endpoints, while the weights are still pending. The model also supports native MCP tooling, which is where the 74.2% MCP Atlas number comes from. The demo claims are the part worth being skeptical about. A 12-hour autonomous ICLR paper replication run and a CUDA kernel optimization loop reaching 9.4x speedup are impressive if real, but these are curated showcase demos that are hard to evaluate from a screenshot. Whether sparse attention holds up at 900K+ tokens in practice rather than in controlled benchmarks is an open question. submitted by /u/Drysetcat [link] [留言]
/u/Drysetcat
2026-06-03 16:21
👁 5
查看原文 →
Engadget
Google shares Fitbit Air blueprints so you can 3D print your own accessories
Google has released 2D CAD drawings of the Fitbit Air.
staff@engadget.com (Mariella Moon)
2026-06-03 16:17
👁 9
查看原文 →
HackerNews
Publishers in UK can opt out of Google AI search results
todd-davies
2026-06-03 16:13
👁 4
查看原文 →
Reddit r/artificial
The gap between agent demos and agent products
Every impressive agent demo skips the same three things: Auth. The demo target is open. The real one has a login and a 2FA prompt. Identity. The demo agent acts as the developer. The real one needs its own email, accounts, and a place to keep secrets. State. The demo is one clean run. The real one has to remember what it did last time and resume. These are not AI problems, which is exactly why they get skipped in AI demos. But they are most of the work to go from "cool clip" to "thing that runs unattended." The model is increasingly the easy part. The unglamorous identity-and-state layer around it is where products actually live or die. Curious whether people think this layer gets commoditized into the foundation models, or stays a separate thing you assemble. submitted by /u/kumard3 [link] [留言]
/u/kumard3
2026-06-03 16:11
👁 5
查看原文 →