今日已更新 236 条资讯 | 累计 34520 条内容
关于我们

今日精选

HOT

最新资讯

共 34520 篇
第 1444/1726 页
AI 资讯 Reddit r/webdev

Built a DOM annotation layer for the browser, teams can leave notion-like comments on any element on any webpage.

Hey everyone!! sharing something I've been building for the past 2 months. Leafy lets you and your team annotate any webpage. You click an element (or highlight text), leave a comment, @ mention teammates, and they get notified. Comments are anchored to specific parts of the page and sync across devices. Use cases I've seen people use it for: → Product teams reviewing features on their products → Designers leaving feedback on live prototypes → Researchers annotating sources together → QA marking bugs on staging environments → Sales teams using it on salesforce → Students using it for marking interesting things on any page, to study You can organise teams into "Gardens" (I know, quirky naming). Free tier supports up to 3 gardens with 5 members each. I'd love any feedback! especially on what feels broken or missing. Chrome Web Store: https://chromewebstore.google.com/detail/leafy-annotate-the-web-to/doohbmfpjanoimbigjbjocanpenbfkkh https://preview.redd.it/4riy4haubu5h1.png?width=908&format=png&auto=webp&s=69ecac6f3bef7a4843c58095c3d8a5972ff2ceaa Product page: https://get-leafy.com submitted by /u/maxisrichtofen [link] [留言]

/u/maxisrichtofen 2026-06-07 18:48 6 原文
AI 资讯 Reddit r/artificial

How I built an AI email agent that processes 15,000 hotel guest emails per day. full architecture breakdown

Just shipped this project and wanted to share the full technical breakdown because hotel/hospitality AI doesn't get much attention compared to the usual chatbot and SaaS use cases. The client manages 500 hotel properties. Their support team was manually handling around 15,000 guest emails per day. Same questions over and over across hundreds of hotels but each one still needed a human to read it, understand it, find the answer, and reply. Here's how the system works end to end: Layer 1: Email ingestion and question extraction This was the hardest part. Guest emails are messy. A typical one looks like: "Hi there, we're coming for our anniversary on the 20th and I was wondering if you have any room upgrades available. Also is the spa open to guests or do we need to book separately? We're driving so need to know about parking too. Last time we stayed the wifi was a bit slow in our room, has that been fixed? Thanks!" That's four separate questions plus a complaint wrapped in one email. If you just embed the whole thing and search the FAQ database you get a blended result that partially answers one or two questions and misses the rest. So I built an extraction layer that reads the full email and breaks it into individual questions. It handles directly stated questions ("is the spa open?"), implied questions ("we're driving" implies they need parking info), complaints that need acknowledgment but aren't FAQ-searchable ("wifi was slow"), and informational context that shouldn't be treated as a question at all ("coming on the 20th"). Getting this extraction reliable was probably 40% of the total development time. Layer 2: FAQ knowledge base with vector search All hotel FAQs get embedded and stored in a vector database. Different properties have different amenities, policies, and details so the search is scoped per hotel. When a guest emails the Berlin property asking about breakfast, it searches the Berlin FAQ, not the Munich one. Each extracted question from Layer 1 gets s

/u/Fabulous-Pea-5366 2026-06-07 18:47 6 原文
开发者 Dev.to

Code in my life: A chronicle part 2

This post is a continuation of part 1 During my childhood, I was obsessed with mazes. I would spend hours drawing mazes with increasingly complex rules and I would force my parents and friends to solve them. I wanted to translate this to the computer. Every so often, I would return to the challenge. Most of my mazes were built in Minecraft. Soon though, my mind started to connect the dots. Minecraft had convinced me that computers could be bent to my will. If I could understand how the game worked, maybe I could make my own world. I was convinced understanding the .bat script was the key. Initially, I experimented. I vividly remember trying to rename the script, after which windows would yell out a scary warning about how changing an extension might make the file unusable. I quickly pressed cancel, hoping I did not break my game. The first time I tried opening the minecraft.bat file in notepad, I was overwhelmed. A bunch of nonsensical garbage filled my screen. I did not know it at the time, but the people who shipped the cracked version obfuscated the script. It was not meant to be understood. I borrowed more and more books on programming and computers from the library, slowly building an understanding of how mysterious lines of text made the computer do stuff. I attempted many times to apply my knowledge. Most of my "programming" was copying code from books in notepad, trying to run it but not having the compilers or knowledge to execute my code. My computer was littered with hundreds of little files. maze.py , maze.php , maze.java . Each an attempt to achieve my dream of creating a maze. Each time, I faced disappointment when I double-clicked, and the computer told me that the file I just worked on was unrecognised. However, there was one piece of code I wrote that actually worked. A small little batch script - welcoming me to a new world. echo "Hello World" A short while later the computer I was working on died. Being locked out of a world I had only just starte

Louis Van Der Walt 2026-06-07 17:41 12 原文
AI 资讯 Dev.to

How Excel is Used in Real-World Data Analysis

Data analysis is at the heart of how we spot patterns and improve systems today. Tools like Python, SQL, Power BI, and Tableau are everywhere in the data world, but Excel has held its ground as the starting point for anyone getting into data work, and there is a reason for that. What is Excel? Excel is a spreadsheet built on a grid of rows and columns. You use it to organize, format, and calculate data. For analysts it is where messy raw data gets sorted out, numbers get worked through, and everything gets turned into something that actually makes sense to look at. Ways Excel is Used in Real-World Data Analysis 1. Data Cleaning Raw data is almost never clean. Names are misspelled, IDs get duplicated, spacing is off, values go missing. None of that is unusual, it is just the reality of working with real data. Before any analysis happens the data has to be honest, because if the data is wrong the results will be too. Functions like PROPER() and TRIM() are some of the basic tools that help get data into a state where you can actually work with it. 2. Financial Reporting Every business, big or small, needs to know where the money is going. Excel makes that straightforward. SUM() adds up a range of numbers, AVERAGE() finds the mean, and once the calculations are done the data can be turned into charts and dashboards that tell the story of the business clearly. Not everyone in the room is an analyst, but everyone can read a chart. 3. Business Decision Making Clean data presented well becomes a decision making tool. What do customers want? What is working? What needs to change? Sorting figures from highest to lowest or filtering by region can take thousands of rows and turn them into something focused and answerable. That is really what data is for, helping people make better calls. Excel Features I Have Learned and How They Apply Three features that have stood out to me are conditional formatting, data validation, and cell referencing. Conditional formatting highlights ce

Grace Njeri 2026-06-07 17:37 14 原文
AI 资讯 Reddit r/webdev

JPEG XL is objectively better than WebP in almost every way - so why are most browsers still ghosting it? And should we start a petition?

A bit of context first. I run a service that caches images from paywalled sites so users don't have to load them fresh on every visit. The overwhelming majority of what we cache is PNG - huge, bloated, uncompressed PNG. Naturally, I started looking into smarter storage and serving strategies, and JPEG XL kept coming up as the obvious answer. The compression gains on PNGs especially are remarkable: you can cut file sizes by 50–60% compared to JPEG with minimal perceptible quality loss at equivalent settings. So the plan seemed straightforward: Convert everything to JXL Detect browser support via the Accept header Serve JPEG as a fallback on the fly for unsupported browsers Here's what the numbers actually looked like: Strategy Total Size Savings Do nothing ~51 GB - WebP Q85 (universal) ~12 GB −39 GB JPEG Q92 (universal) ~21 GB −30 GB JXL d=1 + JPEG fallback ~16 GB / ~5 GB −46 GB (85% of users get 76 KB avg) The JXL route has the best savings on paper - but it means storing two versions of everything, or doing on-the-fly conversion, which adds latency. WebP Q85 just wins. Universally supported (~97–98% of browsers globally), −39 GB in savings, no fallback needed. I hate that this is the conclusion, because JXL is better across most technical dimensions that matter Chrome removed JXL support in Chrome 110 in October 2022 - and that removal was the real killer, given Chrome's ~65% global market share. The stated reasons were actually fourfold: experimental flags shouldn't remain indefinitely; insufficient ecosystem interest; insufficient incremental benefits over existing formats; and maintenance burden reduction. Critics, including engineers from Intel, Adobe, Cloudinary, Meta, and Shopify, disputed all of these claims vigorously in what became one of the most contentious threads in Chromium history. In 2026: Google has reversed course. Chrome 145 (released February 2026) ships with a JPEG XL decoder - currently behind a flag, but back in the codebase for the first tim

/u/Capital_Rip3785 2026-06-07 17:33 7 原文
AI 资讯 Reddit r/webdev

built a simple video compressor/trimmer because my screen recordings were always too huge to share.

As the title says, creating and sharing short videos on macOS or Windows has never been a smooth flow for me. I used to screen cap with QuickTime or the NVIDIA. The result were huge .mov or .mp4 file. Then I either need to upload a 600 MB file to an online compressor, open Handbrake, or use ffmpeg from the command line. Ffmpeg is great, but for quick everyday use, but I found myself loosing the text file where I keep the most useful commands to adjust parameters, and it's anying when there are silly error because I forgot a parameter. And if I wanted to trim the video, I usually had to open a separate video editor that take time to open and are sort of overkill for a simple trimming. So I built Compress.mov . The basic flow is simple: drag and drop a video, choose whether you want to trim it, compress it, or both, and get the result automatically saved in your computer. Over time I added more features: audio removal, video rotation, codec selection, video rescaling, multiple languages (german, farsi, japanese...), and a small counter that shows how many lifetime megabytes you’ve saved by using the Compress app. The latest feature I’m testing is video recording, so I don’t have to use QuickTime anymore! This started as a side project on my spare time, and I built it without an AI assistant, so it’s fully handmade 😃 You can try it at compress.mov for FREE and if you become a fun please purchase it at the windows store or App Store to help me stay motivated. submitted by /u/tino-latino [link] [留言]

/u/tino-latino 2026-06-07 17:30 7 原文
AI 资讯 Dev.to

Building a Privacy-First Media Converter in the Browser: No Servers, No Cloud, 100% Client-Side (RAM-Friendly)

Most online file converters require uploading your documents, images, or videos to an unknown server. This is slow, inconvenient, and raises serious privacy concerns. I decided to build something different: a converter that works entirely inside your browser. Processing large files without a backend presents two main engineering challenges: How do you avoid consuming all available RAM? How do you prevent the user interface from freezing? This article explains how I solved these problems using OPFS, Web Workers, and a Backpressure mechanism. The result is a working tool you can try right now: PixelForge Free . The Architecture at a Glance Here is the simplified data flow of the entire pipeline: Drag & Drop → OPFS (Virtual Disk) → Worker Pool (Backpressure) → ZIP Stream → Download Problem 1: Out-of-Memory (OOM) Crashes The Challenge: Loading many files directly into the browser's memory is impossible. A user dropping a folder with 100+ high-resolution images would instantly crash the tab. The Solution: Origin Private File System (OPFS) OPFS provides a fast, isolated virtual disk inside the browser. Instead of loading files into RAM, my pipeline intercepts the drop event and streams the raw binary data directly to this virtual disk. Here is a simplified version of how it works: // Get a reference to the virtual disk const root = await navigator . storage . getDirectory (); const fileHandle = await root . getFileHandle ( `input_ ${ id } .raw` , { create : true }); // Create a writable stream to the disk const writable = await fileHandle . createWritable (); // Stream the file directly from the user's computer to the virtual disk await file . stream (). pipeTo ( writable ); This allows the application to accept a folder with 500+ items without consuming more than a few megabytes of actual RAM. The data stays on the user's SSD, not in memory. Problem 2: UI Freezing The Challenge: Image compression, PDF parsing, and video encoding are CPU-intensive operations. Running them

Sapianyi 2026-06-07 17:30 7 原文
AI 资讯 Dev.to

I abandoned my campus app 3 years ago. The Finish-Up-A-Thon made me fix it

This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built CampusBeat 2.0 — a React Native campus super-app for students across 17 colleges in Odisha, India. It started in 2023 as a simple notice board aggregator: scrape college websites so students didn't have to visit them. It worked. Students used it. Then life happened, and it sat untouched on GitHub for three years. This challenge gave me the push to finally open that repo again. What I found was equal parts embarrassing and educational. What it is now: 📰 Real-time notices for 17 colleges — ITER, KIIT, NIT Rourkela, IIT, and more 🎨 Complete UI overhaul — warm cream × charcoal × coral editorial design 🃏 3D tiltable campus identity card you can share with friends 🔖 Bookmarks — save any notice, grouped by college 💬 Real-time campus chat rooms powered by Socket.io 🛒 Campus marketplace — buy/sell within your college 🔔 Push notifications via Firebase Demo The original app from July 2023: LinkedIn post CampusBeat 2.0 — running on device: Onboarding screen - with beautiful animation Onboarding.mp4 - Google Drive drive.google.com Login screen — editorial serif heading, Lottie animation, warm ink hero Register screen — custom college picker bottom sheet with live search Home screen — quote card, college notice feed, floating tab bar Profile screen — 3D tiltable campus card with holographic shimmer Share modal — drag to rotate the card, share natively News Explorer — college chips, notice type tabs, live banner Marketplace — buy and sell within your college Bookmark - your persistent news bookmark.mp4 - Google Drive drive.google.com Chat screen - live interaction within colleges chat.mp4 - Google Drive drive.google.com The Comeback Story What I found after 3 years Opening an old repo is humbling. Here is what I walked into. The dead API. The home screen showed a daily quote — except quotable.io had shut down. Every user was silently seeing the hardcoded fallback for three years: "Villains are not bad, the

Aditya 2026-06-07 17:25 14 原文
AI 资讯 Dev.to

Why RAG needs context judgment, not just better retrieval

Why RAG needs context judgment, not just better retrieval Most RAG systems optimize for retrieval. That makes sense. Search better. Embed better. Chunk better. Rank better. Fetch more sources. All of that matters. But retrieval alone does not answer a different question: Should this context actually influence the model? That is the problem FreshContext is built around. FreshContext is context judgment infrastructure for AI agents, RAG systems, and retrieval workflows. The simple version: candidate context in decision-ready context out Retrieval is not judgment A retriever usually answers: What might be relevant? A context judgment layer asks: What should happen to this context before it reaches the model? Those are different problems. A source can be relevant but stale. A source can be recent but low-confidence. A source can be useful as background but not strong enough to cite. A source can have no reliable date. A source can be a duplicate. A source can need verification before it should influence an answer. A normal RAG pipeline can retrieve all of that and still pass it straight into the prompt. That is where things get messy. The model may reason fluently from weak context, and the final answer can look confident even when the input material was stale, uncertain, or not citation-grade. The missing layer between retrieval and reasoning FreshContext sits after retrieval and before reasoning. It does not try to replace search, vector databases, RAG frameworks, or agent frameworks. It focuses on the boundary between them and the model. The product spine looks like this: candidate context -> FreshContext Core -> freshness / provenance / confidence / utility / source profile -> decision helper -> decision-ready output -> model / agent / app The goal is not just to produce another score. The goal is to turn candidate context into a decision. Example decisions include: cite_as_primary cite_as_supporting use_as_background needs_refresh needs_verification watch_only excl

Immanuel Gabriel 2026-06-07 17:25 10 原文
AI 资讯 Dev.to

Our VP Said AI Would Test Itself. I Raised My Hand. I Got Reassigned. Day 3 Cost $2.8M. I Had the Screenshots Ready.

Based on real software development trends. About a VP of Engineering who believed AI would verify its own output, 47 TODOs that shipped to production, and a $2,800,000 discount calculation error that nobody caught. This story is based on a submission from a community member. If you have a similar story or something you need to get off your chest — reach out. The next one could be yours. Act 1 · The Tech Meeting "Starting today — no more hand-written code." Marcus, the new VP of Engineering, put a slide up on the big screen. Four words: WRITING BY HAND IS OVER. I was sitting in the back row, against the wall. Seven years at this company. Three core modules that I'd built from scratch. Two production systems that ran the company's primary revenue stream. Now someone was telling me — don't write anymore. The room went quiet for about five seconds. Then people started whispering. Someone pulled out a phone and took a picture of the slide. Marcus added: "AI coding isn't optional — it's a mandatory development standard. We benchmarked this. AI writes code 400% faster than humans. Anyone still typing manually is wasting the company's time." I raised my hand. "Who reviews the code?" "AI reviews it." "Who writes the tests?" "AI tests itself." "What if AI writes something wrong?" Marcus laughed. Not a polite laugh. The kind of laugh you give someone whose question you've already decided doesn't matter. "Let me ask you something." He paused. "Do you really think — you, one person — have more training data than Orion-7? " People started laughing. Not supportive laughter. Pile-on laughter. "Or do you think the world's AI companies — hundreds of billions in investment, tens of thousands of GPUs — built something that's less reliable than one backend developer?" Nobody was looking at me anymore. Everyone was watching him, waiting for the kill shot. He didn't take it. He just smiled. "Starting next sprint, it's AI across the board. Anyone who has concerns — my door's open." Act 2 ·

xulingfeng 2026-06-07 17:19 8 原文
AI 资讯 Dev.to

We Replaced Redis with MySQL SKIP LOCKED for Inventory Reservation — Oversells Went to Zero

For two years, our Sponsored Placements service booked limited ad inventory through Redis: a counter in Redis, a Redlock around the decrement, and a TTL key per hold. It oversold. Not catastrophically — consistently. 40–60 double-booked placements a month , each one a manual refund and an apology email to an advertiser. The root cause was never one bug. It was the architecture: two sources of truth that could not be made atomic with each other. The count lived in Redis; the ownership lived in SQL. No transaction spans both. The Redlock only ever protected the Redis half. The one mental shift SKIP LOCKED turns a contended table into a concurrent work queue. Instead of every request fighting over one counter, each request grabs different rows and ignores the ones someone else is holding. FOR UPDATE alone serializes — that's the experience that scares people off SQL locking. FOR UPDATE SKIP LOCKED is the opposite: a transaction that would have blocked instead skips the locked row and takes the next free one. One row per reservable unit, then: START TRANSACTION ; SELECT id FROM inventory_unit WHERE placement_id = 42 AND ( status = 'available' OR ( status = 'held' AND hold_expires_at < NOW ( 3 ))) -- self-healing expiry ORDER BY id LIMIT 2 FOR UPDATE SKIP LOCKED ; -- the whole trick UPDATE inventory_unit SET status = 'held' , reservation_id = 'uuid' , hold_expires_at = NOW ( 3 ) + INTERVAL 10 MINUTE WHERE id IN ( 1107 , 1108 ); INSERT INTO reservation (...) VALUES (...); COMMIT ; Two concurrent requests for the same pool lock different rows. Neither waits. The claim, the hold, and the reservation are one transaction — there is nothing to reconcile because there is nothing else. The numbers (8 weeks before vs 8 weeks after) Metric Redis + Redlock MySQL SKIP LOCKED Oversells / month 40–60 0 Reservation p95 210 ms 34 ms Reservation p99 540 ms 61 ms Throughput / instance ~600 RPS 1,400 RPS Lock-wait timeouts / day ~900 <5 Nightly reconciliation 9–14 min deleted Redis cluster

kirandeepjassal-crypto 2026-06-07 17:19 15 原文