California launches tracker for AI-related job losses
California governor Gavin Newsom worked with the state's employment department to roll out an AI job loss tracker.
California governor Gavin Newsom worked with the state's employment department to roll out an AI job loss tracker.
Use it with Claude, ChatGPT and more! Discussion | Link
A GitHub repository called design.md has been trending recently, accumulating over 1,400 stars. The concept is straightforward: provide AI agents with a persistent design document they can reference throughout their work. This approach addresses a practical challenge in agent development that many teams encounter. The Context Challenge When working on complex tasks, AI agents need to understand the broader picture. What's the architecture? What constraints exist? What approaches have been tried before? Typically, agents get context from: Current conversation (limited window) Code comments (often outdated) Documentation (if it exists) The issue is that this context is fragmented and temporary. When conversation moves forward, earlier context disappears. When documentation is outdated, agents make incorrect assumptions. A design.md provides a single source of truth that persists across sessions. What Belongs in design.md An effective design.md answers these questions: What are we building? Beyond feature lists, document the core purpose. Why does this project exist? What problem does it solve? What are the key architectural decisions? Document major choices and their rationale: "PostgreSQL was chosen over MongoDB because ACID guarantees are required for financial transactions" "Microservices architecture was adopted because components have different scaling requirements" What constraints exist? Technical constraints (performance requirements, browser support), business constraints (budget, timeline), and regulatory constraints (GDPR, HIPAA). What has been tried before? Document failed approaches to prevent agents from suggesting rejected solutions. What are the current challenges? Known issues, technical debt, areas needing improvement help agents prioritize work. How Agents Use design.md When starting a task, agents can: Read design.md to understand context Make decisions aligned with documented architecture Avoid solutions violating constraints Reference design.md i
Hello, I'm Maneshwar. I'm building git-lrc, a Micro AI code reviewer that runs on every commit. It is...
When I first started using Cursor AI , I thought it was just an AI-powered code editor. After spending more time with it, I realized it's much more than that. Cursor isn't just about generating code—it's a development assistant that can understand your project, automate repetitive tasks, connect with external tools, and help you build software much faster. If you're new to Cursor, this guide will explain the most important concepts in simple language with real-world examples. 1. What are Rules? Think of Rules as permanent instructions for Cursor. Instead of telling the AI the same things every time, you define them once and Cursor follows them throughout your project. Example Instead of writing this every time: Use TypeScript Use Tailwind CSS Create reusable components Write clean code You can create a rule like: Always use TypeScript. Always use Tailwind CSS. Never use inline CSS. Create reusable components. Write meaningful comments. Now every prompt automatically follows these instructions. Real-world example Imagine you're working in a company where every developer follows coding standards. Rules are those standards—but for your AI assistant. Benefits Consistent code Less repetitive prompting Faster development Better code quality 2. What are Skills? Skills are reusable instructions for specific types of work. Instead of explaining how to build an API every time, you create one reusable skill. Example: Create Express APIs using MVC architecture. Validate all inputs. Handle errors properly. Use async/await. Now whenever you ask Cursor to create an API, it follows that workflow. Real-world example A plumber has plumbing skills. An electrician has electrical skills. Similarly, Cursor can have reusable development skills. Benefits Reusable workflows Consistent architecture Faster feature development 3. What are Hooks? Hooks are automatic actions triggered by an event. For example: You save a file. ↓ Cursor automatically runs: Formatter Linter Tests You don't have to
Mitigating Hallucinations in Theology AI: Implementing Groundedness Evaluation Pipelines For software developers and indie hackers, the era of building generic wrapper APIs is over. The real value now lies in highly specialized, niche vertical applications. One of the most fascinating, complex, and underserved niches is the intersection of artificial intelligence and religious doctrine. Building a catholic ai tool presents unique software engineering challenges. Unlike general-purpose chatbots, a theology ai application cannot afford to "hallucinate" or generate creative interpretations of established doctrines. In this space, an inaccurate answer is not just a software bug; it is a theological error. To build a high-quality, trustworthy catholic ai app , developers must move past basic prompt engineering. We must implement robust groundedness evaluation pipelines. This article explores the technical journey of building a specialized catholic ai chatbot , the catholic church stance on ai , our choice of tech stack, and how to build a production-grade groundedness pipeline to keep your AI aligned with official church teachings. The Catholic Church Stance on AI: Designing for Ethics and Trust Before writing a single line of Dart, Swift, or Python, we must understand the ethical landscape of ai and theology . The Vatican has taken an surprisingly proactive approach to artificial intelligence. Pope Francis has frequently spoken on the topic, advocating for "algor-ethics"—the ethical development of algorithms. The catholic church stance on ai emphasizes that technology must serve human dignity and remain aligned with truth. ┌─────────────────────────────────┐ │ The Vatican's Algor-ethics │ └────────────────┬────────────────┘ │ ┌─────────────────────────┴─────────────────────────┐ ▼ ▼ ┌──────────────────┐ ┌──────────────────┐ │ Human Agency │ │ Doctrinal Truth │ │ AI must assist, │ │ AI must not alter│ │ never replace │ │ established dogma│ └──────────────────┘ └─────────
It was the middle of a Friday afternoon, and I was sitting in the front row of a local mosque. The room was deathly quiet, the kind of silence that amplifies every heartbeat. Suddenly, three rows behind me, a phone erupted with a loud, brassy ringtone that seemed to go on for an eternity. The man scrambled to silence it, his face turning bright red as he fumbled with his screen. I felt his humiliation deeply. In that moment, I realized that modern smartphones—despite their intelligence—are remarkably stupid when it comes to context-aware social etiquette. We live in a world of smart devices, yet we are still manually toggling our volume settings like it is 2005. I have spent years forgetting to silence my phone before a meeting, a lecture, or a quiet space, only to have it buzz loudly at the worst possible time. It is a friction point that feels trivial until it happens to you, at which point it becomes incredibly disruptive. Existing solutions often fall into two camps: over-engineered automation tools that require a computer science degree to configure, or basic calendar-sync apps that lack the nuance needed for things like location-based triggers or recurring religious observances. I wanted something that just worked, quietly, in the background, without requiring me to constantly open an app to double-check if my rules were still active. When I started building Muffle, I quickly realized that the greatest obstacle wasn't the logic of detecting a location or a prayer time—it was the operating system itself. Android, in its quest to squeeze every millisecond of battery life out of a device, has turned into a minefield for developers trying to keep background tasks alive. If you rely on a standard Service , the system will kill it within minutes as soon as the user turns the screen off. I needed a way to ensure that my background monitoring, especially for geofencing and prayer time calculations, stayed alive even when the phone was sitting in a pocket for hours. I
Build a Complete MERN Stack CRUD App with Image Upload (Step-by-Step) This is a complete step-by-step guide to building a MERN Stack CRUD application with Image Upload using Multer. Let's dive right into the structure and code! 📂 The Complete Folder Structure mern-crud-app/ │ ├── backend/ │ ├── models/ │ │ └── Employee.js │ ├── routes/ │ │ └── employeeRoutes.js │ ├── uploads/ (Make sure to create this empty folder) │ ├── .env │ └── server.js │ └── frontend/ └── src/ ├── components/ │ └── EmployeeManager.jsx ├── App.jsx └── index.css ⚙️ Part 1: Backend Code 1. backend/.env PORT=5000 MONGO_URI=mongodb://127.0.0.1:27017/mock-crud 2. backend/server.js const express = require ( ' express ' ); const mongoose = require ( ' mongoose ' ); const cors = require ( ' cors ' ); require ( ' dotenv ' ). config (); const app = express (); // Middlewares app . use ( cors ()); app . use ( express . json ()); // Setup static folder for frontend image access app . use ( ' /uploads ' , express . static ( ' uploads ' )); // Routes const employeeRoutes = require ( ' ./routes/employeeRoutes ' ); app . use ( ' /api/employees ' , employeeRoutes ); // MongoDB Connection mongoose . connect ( process . env . MONGO_URI ) . then (() => console . log ( ' MongoDB Connected Successfully! ✅ ' )) . catch (( err ) => console . log ( ' MongoDB Connection Failed ❌ ' , err )); app . get ( ' / ' , ( req , res ) => { res . send ( ' Backend Server is Running! 🚀 ' ); }); const PORT = process . env . PORT || 5000 ; app . listen ( PORT , () => { console . log ( `Server is running on port ${ PORT } ` ); }); 3. backend/models/Employee.js const mongoose = require ( ' mongoose ' ); const employeeSchema = new mongoose . Schema ({ name : { type : String , required : true }, email : { type : String , required : true , unique : true }, phone : { type : String , required : true }, designation : { type : String , required : true }, experience : { type : Number , required : true }, salary : { type : Number , required : tru
Want to turn a small ESP32 board into a mini arcade game you can actually play? This ESP32 OLED Mini Shooter Game uses a 128x64 OLED display and two push buttons to create a simple shooter experience. The player moves left and right, bullets fire upward, and enemies fall from the top of the screen. It is a small project, but it already feels like a real handheld game once the display starts updating. This build is a great next step after basic OLED and button tutorials. Instead of only printing text or drawing one shape, the code manages several moving objects at the same time. It tracks the player, bullets, enemies, collisions, and game-over state. The screen is divided into a simple grid. The 128x64 OLED becomes a 16x8 playfield, where each tile is 8x8 pixels. This makes object movement easier to understand because the player, enemies, and bullets move by grid position instead of raw pixel math. Why build it? This project teaches interactive programming on real hardware. The ESP32 reads button input, updates game objects, checks collisions, and draws the next frame on the OLED. That is much more active than a normal sensor display project. It also teaches timing without blocking the whole game flow. The code uses millis() to control when bullets and enemies update, so they can move at different speeds. This is useful because many embedded projects need timed actions without stopping everything else. What you'll learn ESP32 OLED display control - drawing text, squares, circles, and game objects on an SSD1306 screen. Custom I2C pins - using Wire.begin(5, 19) so the OLED uses GPIO5 for SDA and GPIO19 for SCL. Button input handling - reading two push buttons for left and right movement. Debounce logic - preventing one press from being counted many times. Grid-based game design - turning a 128x64 screen into a simple 16x8 game map. Game object arrays - storing multiple bullets and enemies with active/inactive states. Timer-based updates - using millis() to move bullets
👋 Hi DEV Community! I'm the creator of Cloud Compass , a newsletter dedicated to making cloud computing easier to understand. If you've ever felt overwhelmed by the constant stream of cloud updates, new services, documentation, and buzzwords, you're definitely not alone. I originally published this as the welcome issue of my newsletter, and I'm sharing it here because I hope it helps developers, students, and anyone starting their cloud journey. ☁️ Welcome to Cloud Compass Cloud news, concepts, and insights without the overwhelm. The cloud is moving fast. Let's make sure you're not left behind. Welcome to Cloud Compass — your guide to staying current with cloud computing while building real cloud knowledge, without feeling overwhelmed. Let's be honest. Keeping up with cloud technology is exhausting. Cloud providers release new services, features, and updates almost every week. Between official documentation, blog posts, YouTube videos, LinkedIn posts, and countless tutorials, it's difficult to know: What actually matters? What should you learn first? Where do you even begin? That's exactly why I started Cloud Compass . This isn't a newsletter written by AI or filled with copied announcements. It's written by someone who genuinely enjoys learning cloud computing and wants to make it easier for everyone else—whether you're: A developer trying to stay current A student entering the cloud world for the first time A professional who wants to understand cloud technology without spending hours reading documentation The goal is simple: Show up regularly with something that's actually useful. "I want Cloud Compass to feel less like reading tech news and more like having a conversation with someone who already read everything and saved you the time." Here's what you can expect 📰 Cloud News Roundup The most important updates from across the cloud industry—not just AWS, Azure, and Google Cloud, but the wider cloud ecosystem. No endless lists of links. No unnecessary hype. Just
Browser automation with Playwright, Python, GitHub Actions, and Entire to auto-enter San Francisco Stern Grove concert lotteries each week!
Don't pay full price—snag one of these tasty Prime Day tech deals on some of our favorite WIRED-tested gadgets.
Looked at 30 products running Meta + TikTok ads profitably. 7 patterns every single one had: PRICE : $25-$65 Below = thin margins. Above = harder impulse. BUNDLE OPTIONS "Buy 2 save 10% / Buy 3 save 15%" — every store had this. None were single-product only. VISUAL HOOK IN 3 SECONDS Unique design, specific problem solved, or "wow factor." Generic products failed. REAL REVIEWS WITH PHOTOS Not 5-star spam. Real, mixed reviews. Even negatives build trust. SHIPPING TIME ON PDP Every store disclosed it directly. None hid it in FAQ. STICKY ADD-TO-CART ON MOBILE All 30 had it. If your Add to Cart scrolls off-screen on mobile, you're losing sales. POST-PURCHASE UPSELL "Add this for $X" / subscription / bulk refill. This is where AOV lives. WHAT THEY DIDN'T HAVE Live chat (only 4/30) Exit-intent popups (only 2/30) Countdown timers (only 3/30) Countdown timers (only 3/30 — most had REAL shipping urgency instead) Multiple payment options visible on PDP (most just had Shopify default) The "guru tactics" aren't what winning stores use. 3 QUICK WINS Pick products with visual hooks Bundle by default Fix PDP before scaling ads
We've been testing coolers for years, and our top picks are on sale for Amazon Prime Day.
Cross-posted from noflattery.com/decide — where I ran this exact question through a council of four different frontier models and let them argue it out. You're a solo founder at ~$8K MRR. You have runway for exactly one full-time hire. Which role unlocks the most growth? (A) a second engineer to ship features faster (B) a marketer to build a real acquisition channel (C) a customer-success / support hire to cut churn and free your time (D) a salesperson to chase larger deals The intuitive answer for most technical founders is A — more shipping velocity. The case below is for C , and it's stronger than it looks. (With one caveat that can flip the whole thing — stick around for it.) TL;DR: At ~$8K MRR solo, hire customer success first if churn is real or support is eating your week . If voluntary churn is under ~3% and support is light, hire a marketer instead. Engineer and sales come later. The case for customer success first 1. Churn quietly eats growth before features can add it. At $8K MRR, 5% monthly churn is ~$400/month bleeding out before you grow an inch. Across bootstrapped SaaS in the $5–15K MRR band, the strongest predictor of reaching $50K isn't feature velocity or channel — it's net revenue retention above 90% . That's a customer-success function, not an engineering one. 2. You are the bottleneck, and support is eating you. As a solo founder you're doing product, sales, billing, and support. If support takes ~15 hours a week, that's nearly 40% of your capacity — and it's the cheapest thing to hand off. A CS hire costs less than a senior engineer or an experienced salesperson, and it buys back the hours (and the headspace) you need to think strategically again. 3. It's a research department in disguise. A CS hire generates the highest volume of qualitative signal: why people leave, what they actually use, what they'd pay more for. An engineer builds what you think users want. CS tells you what they actually need — which means the engineer you hire next buil
Everything is expensive. Treat yourself to one of these WIRED-tested and -approved Prime Day picks under $30.
It’s been hot in London this week. Really hot. A dangerous heat wave has hit Western Europe. Yesterday, the UK recorded its highest ever June temperature at 36.1 °C (about 97 °F). But as the weather app on my phone confirmed, it felt like 39 °C. It’s frightening that we are seeing such temperatures in…
YouTube has made several key changes to Shorts by removing dislikes and offering a clear screen mode.