AI 资讯
The 7 biggest storylines from Summer Game Fest 2026
The 2026 edition of Summer Game Fest just wrapped up, and it was surprisingly hectic. The nearly week-long event came at a challenging time for the games industry, and for the most part the big keynotes were used as a chance to show some strength through major announcements, while largely ignoring pesky details like hardware […]
AI 资讯
The best QA / Software Testing Skill you might have used so far
Using it daily for work. submitted by /u/Medium_Potato3703 [link] [留言]
AI 资讯
I Thought Harmonics Were a Grid Problem, Then I Realized They Were Everywhere
Whenever I heard about harmonics, I thought they were only related to large substations, transmission systems, and industrial facilities. I assumed harmonics were something utility engineers dealt with and not something connected to everyday devices. Phone chargers can create harmonics. Laptop chargers can create harmonics. LED lights can create harmonics. Even a UPS sitting under a desk can create harmonics. Today, modern power systems use many power electronic devices such as EV chargers, solar inverters, battery energy storage systems (BESS), UPS systems, data centers, and Variable Frequency Drives (VFDs). While these technologies bring many benefits, they can also introduce harmonic distortion. The more power electronic devices we connect to the grid, the more important harmonic analysis becomes. In this article, I will explain what harmonics are, what causes them, how they affect power quality, how they can be analyzed using PSCAD, and why they are becoming more important in modern power systems. Before we talk about harmonics, let's first understand electrical loads, because this is where harmonics usually begin. What Is an Electrical Load? An electrical load is any device that uses electrical energy to perform useful work. For example, think about a typical evening at home. You turn on a ceiling fan, LED light, laptop, air conditioner, and phone charger. All of these devices use electricity, so they are called electrical loads. Examples of electrical loads include motors, heaters, fans, computers, air conditioners, lighting systems, and EV chargers. However, not all electrical loads use electricity in the same way. Some draw current smoothly, while others draw current in short pulses. This small difference is actually where the story of harmonics begins. Linear vs Non-Linear Loads To understand harmonics, we first need to understand the difference between linear and non-linear loads. Although both types of loads consume electricity, they draw current from the
AI 资讯
Detecting PII in Real-World Text
In Part 1 we installed Presidio and ran a basic detection on clean sample text. Real data is messier. Emails have signatures with phone numbers buried in HTML. Support tickets mix PII with technical jargon. Chat logs have informal name references that NER models struggle with. And sometimes the PII isn't in text at all. It's in screenshots and scanned documents. This part covers how Presidio's detection engine actually works under the hood, how to process different text types you'll encounter in production, and how to handle structured data and images. How the Analyzer Engine Works Presidio doesn't rely on a single detection method. It layers three approaches and combines their results. Named Entity Recognition (NER) The NER model (spaCy by default) processes the text and identifies entities based on the language model's training. It's good at catching names, locations, and organizations even when they don't follow a fixed pattern. "John Smith" is easy. "Dr. J. Martinez-Garcia" is harder but the NER model handles it because it understands context and word patterns. The tradeoff is that NER is probabilistic. It can miss unusual names or flag common words as entities. That's why Presidio doesn't stop here. Pattern Matching (Regex) For entities with predictable formats, Presidio uses regex recognizers. Credit card numbers, SSNs, email addresses, IP addresses, phone numbers all have known patterns. A Luhn-validated 16-digit number is almost certainly a credit card. A string matching \d{3}-\d{2}-\d{4} in the right context is probably an SSN. Pattern-based detections typically get higher confidence scores than NER detections because the pattern itself is strong evidence. Context Scoring Here's where it gets interesting. Presidio looks at the words surrounding a potential match to boost or lower confidence. If the text says "my SSN is 123-45-6789," the phrase "my SSN is" provides strong context that the number is actually a social security number and not some random ID. Th
AI 资讯
Why Building a PDF Engine in Go Will Help You Understand Go Concepts Better
There is a class of projects that teaches you more about a language than any tutorial ever could. Building a PDF engine from scratch in Go is one of them. It is not glamorous. It is not trendy. But it forces you to confront memory management, binary serialization, concurrency safety, interface design, and performance profiling all at once, in a domain where correctness is non-negotiable. This article walks through the lessons learned building GoPdfSuit (~500 Github ⭐), a production PDF engine written in Go that generates 1.5 million financial PDFs in roughly 45 minutes on a single node, achieves PDF/A-4 and PDF/UA-2 compliance, and exposes itself as a REST API, a Go library, and Python CGO bindings simultaneously. Note : While I have six years of overall experience including two years working specifically with Go, I rarely encountered these types of challenges in my day-to-day work, as my role focused primarily on implementing new features within an existing architecture. Working on gopdfsuit was an excellent learning experience; it allowed me to dive deep into performance optimization and taught me a great deal. Below are some of the key takeaways. Building GoPdfSuit from a blank editor to a production-grade PDF engine-one that ships PDF 2.0 , PDF/A-4 , PDF/UA-2 , PKCS#7 signing, merge/split, XFDF fill, secure redaction, and a public gopdflib API-forced a shift from “business logic” to “systems engineering.” When you chase ~2,000+ aggregate ops/s on a mixed financial workload (48 workers, PDF/A on) and sub ~10 ms PDF generation, you stop debating frameworks and start fighting the allocator, cache lines, and ISO 32000 semantics. These fifty lessons are drawn from the actual codebase ( internal/pdf , pkg/gopdflib , benchmark harnesses under sampledata/ , and documented optimization passes in guides/cursor/ ). They mix specification pain with Go runtime craft and production reality-not generic blog advice. Part 1: Structural Hurdles & PDF Specification Nightmares Deco
AI 资讯
How to Become a Data Scientist in 2026
How I got here On principle, you will never catch me parading myself as a some sort of expert data scientist. Technically, that's what I do in my day job, but I know I still have so much to learn because the field is broad, and to truly become expert requires dangerously ambitious levels of work ethic. I think I'm a functional data scientist who learns more as I encounter new problems daily. I'm writing this piece because in the last week or two, precisely three people have asked me questions related to transitioning into data science. As such, I thought to unify my thoughts around the topic so that I can refer anyone else who asks here--if anyone else ever asks. This article assumes you're already familiar with some of the data science entails such as data analysis, model training, prediction, etc, so I will not be doing a lecture series, just addressing some of the disconnects I have observed in conversation with people looking to transition to the field. Initial Excitement In 2026, it's easy to see what claude or chatGPT is doing and go "What sorcery is this? I must learn this trick!" and then reach out to the closest person you know who has ever mentioned anything about data or machine learning to find out how you can transition into AI. First of all, transitioning into "AI" is such a broad way to look at it. It is analogous to saying "I want to emigrate to Africa, show me how". But that's forgivable too. To cut short your initial excitement, or maybe redirect it, playing with a locally hosted LLM or making API calls to the DeepSeek endpoint is not data science, or machine learning or "AI". It's coding. And if you want to go down that route, you're better of focusing on software engineering. I say this because when you work with LLMs, the finished models to be specific, it's like using any other SaaS API out there. The difference being that you're interacting with a much less deterministic interface. But the rest of the work you do around it is pretty much a det
AI 资讯
What Is AI Clutter? The Hidden Technical Debt Growing Inside Shopify Stores
Most merchants know they have unused files. Far fewer realize they're accumulating AI-generated media they never intended to keep. There's a problem quietly growing inside thousands of Shopify stores right now. It's not abandoned carts. It's not slow page speeds. It's not even the 400 unused product images you already know you should deal with. It's something newer, and most merchants have no idea it's happening. The Rise of AI-Generated Commerce Content Over the past two years, AI image tools have gone from novelty to routine. Shopify Magic. Canva AI. Midjourney. ChatGPT image generation. Adobe Firefly. Background removers. Lifestyle photo generators. Product shot enhancers. Merchants are using these tools constantly — to mock up new products, test background options, generate seasonal variants, create ad creatives, experiment with lifestyle photography. The workflow feels clean: generate a few options, pick the best one, move on. Here's what's actually happening on the backend. Every time you use Shopify's native AI tools to generate, edit, or enhance an image, Shopify quietly deposits files into your media library. Not just the one you kept. All of them. The rejected generations. The experimental edits. The "let me try one more variant" files. The abandoned attempts from six months ago when you were testing a new product that never launched. Every. Single. One. Most merchants assume the files they don't choose disappear. They don't. The lifecycle looks something like this: ┌─────────────────────┐ │ AI Image Generation │ └──────────┬──────────┘ │ ▼ ┌─────────────────────┐ │ Rejected Variants │ │ • Drafts │ │ • Test Images │ │ • AI Edits │ └──────────┬──────────┘ │ ▼ ┌─────────────────────┐ │ Hidden Media Files │ │ Accumulate Over Time│ └──────────┬──────────┘ │ ▼ ┌─────────────────────┐ │ AI Clutter │ │ Invisible Technical │ │ Debt │ └──────────┬──────────┘ │ ▼ ┌─────────────────────┐ │ Reduced Media │ │ Governance │ │ • More Noise │ │ • Less Visibility │ │ • Hard
AI 资讯
Notion restores access to Anthropic after service disruption
Notion's head of product said he was "astonished" at “the amount of people RT-ing this."
AI 资讯
OpenAI is still working on that ‘super app’
"Chat is dead" — at least, according to a senior OpenAI employee.
创业投融资
TechCrunch Mobility: Inside GM’s $900M EV battery gamble
Welcome back to TechCrunch Mobility — your central hub for news and insights on the future of transportation.
AI 资讯
Why I stopped pasting into online Fake Data Generator tools
Every online Fake Data Generator tool I used had the same quiet flaw: whatever you paste gets POSTed to someone's server. For a Fake Data Generator, that paste is often exactly the sensitive thing — a token, a config, an API response. So I built Fake Data Generator to not do that. Generate fake names, emails, UUIDs, addresses — custom columns, CSV/JSON export. 100% browser-side — and it runs entirely in your browser, so there's nothing to send and nothing to breach. You don't have to take my word for it: open DevTools → Network, use the tool, and watch the tab stay empty. One HTML file, View-Source-able. https://faker.platotools.com/ It's part of platotools.com — a set of single-purpose, client-side dev tools. Feedback and edge-case bug reports very welcome.
AI 资讯
Govee’s all-weather smart lamp post is under $200 for the first time
If you have an outdoor space that needs some extra lighting, either for fun or security reasons (or a mix of the two), the Govee outdoor lamp post light is a good pick that’s 23 percent off its regular price right now. Typically retailing for $260, the Govee outdoor lamp post light is available for […]
AI 资讯
Road To KiwiEngine #12: Why I Want To Build Hardware Again
Somewhere along the way, computing became disposable. Devices became sealed. Systems became rented. Ownership became licensing. Repairability disappeared. Infrastructure moved away from the user and into distant cloud platforms. And I think we lost something important because of it. Lately, I’ve found myself becoming increasingly interested in hardware again. Not just software. Not just cloud systems. But actual computing devices. Servers. Home infrastructure. Repairable machines. Set-top systems. Local AI appliances. Sovereign computing. Because I believe the next era of computing will belong to people who own their infrastructure again. The Provider Box Realization One thing that kept sticking in my head was this: Almost every home in America already has a provider box. A Comcast box. An AT&T gateway. A router. A modem. A streaming box. People are already comfortable with the idea of a dedicated computing appliance sitting in their home quietly powering their digital life. That realization changed how I thought about computing infrastructure. What if those boxes worked for the user instead of the provider? What if they: hosted local AI, managed home storage, coordinated smart devices, powered media systems, handled automation, protected privacy, synchronized intelligently, and operated as sovereign infrastructure? That idea became part of the thinking behind KiwiHome. The Return Of Home Infrastructure For a long time, the industry moved toward centralization. Everything shifted toward: SaaS, subscriptions, streaming, cloud storage, cloud intelligence, and rented operational environments. Convenient? Absolutely. But also fragile. If: pricing changes, services disappear, companies shut down, APIs get revoked, or platforms change policies, entire workflows collapse overnight. I think people are starting to feel that tension. Especially creators. Especially businesses. Especially technical users. That’s why I believe we’re going to see a major resurgence in: home serv
AI 资讯
LearnX-Radar – Daily AI audio lessons from developer trends + Dutch coach
I built something I desperately needed: daily AI audio lessons from real developer trends (plus a Dutch coach for inburgering B1). The hardest part wasn't the AI. It was figuring out how to score genuine rising skills vs. one-day noise. I ended up building a cross-day momentum signal that rewards skills accelerating over 3+ days and dampers spikes. But I'm stuck on the next problem: how do you personalize this without storing user data? (I'm privacy-first, so no subscriber DB — Telegram holds the member list.) If you've solved this, I'd love your take. And if you're learning Dutch + coding, I'd appreciate you trying it and telling me what's useless. What I'm curious about: Is the momentum signal actually working — am I surfacing real trends or just noise? Would the Dutch coach be useful for expat developers in NL, or is it too niche? Technical details (for those who care): • 7 sources: GitHub Trending, HN (Who-is-Hiring + front page), Stack Overflow tag deltas, dev.to, Reddit, Lobste.rs • Map-reduce skill extraction with deterministic attribution (corpus scan, not LLM tally) • Grounded briefs: reads actual source text via Jina + Exa, cited sources • Delivered via Telegram (audio + PDF), Spotify podcast, email • Privacy: PII redacted at ingestion, no subscriber data stored Live: https://yusuprozimemet.github.io/LearnX-Radar/ GitHub: https://github.com/Yusuprozimemet/LearnX-Radar (P.S. This is still beta — I'm looking for feedback, not users. If you try it, tell me what's useless, not what's good.)
AI 资讯
How to Deploy 10 Times a Day Safely with Feature Flags
If you’ve been following my previous posts, you know I’m a big advocate for Trunk-Based Development and shrinking your pull requests until they almost feel too small. In a perfect world, developers merge code directly into the main branch multiple times a day, everything flows smoothly, and production remains rock solid. But let’s be honest. When you actually try to pitch this to a backend team working on a core system, you almost always hit the exact same wall of resistance. Someone in the back of the room will inevitably raise their hand and ask: “That sounds great in theory, but I’m currently refactoring our legacy checkout service. It’s going to take me four days of deep architectural changes. Are you seriously telling me I should merge half-baked, broken code into the main trunk and push it straight to production where real customers are buying our products?” It’s a completely valid objection. If your only tool for hiding uncompleted work is holding onto a massive, long-lived feature branch, then trunk-based development breaks down immediately. You end up with the exact nightmare we talked about earlier: huge code reviews, painful merge conflicts, and code that rots before it ever sees a live environment. To make continuous delivery actually work without causing catastrophic production outages every single afternoon, you need to decouple two concepts that most engineering teams mistakenly treat as the exact same thing: Deployment and Release . Last article in this category is focused on Trunk-Based Development: https://codecraftdiary.com/2026/05/18/trunk-based-development-roadmap/ The Core Concept: Shifting Left by Decoupling In traditional development setups, deploying code and releasing a feature happen simultaneously. You merge your giant feature branch, the CI/CD pipeline runs, the code hits the live servers, and boom—your users immediately see the new functionality. This model is incredibly high-stakes. If something goes wrong, your only options are rollin
AI 资讯
SpendWise - AI Spend Audit Tool to launch ready App
This is a submission for the GitHub Finish-Up-A-Thon Challenge What I Built SpendWise AI is a free tool that audits your AI tool spending (Cursor, Copilot, Claude, ChatGPT, Gemini, Windsurf) against verified vendor pricing and tells you exactly where you're overspending and what to do about it. I originally built this as a week-long assignment for a startup. The problem it solves is simple: founders and engineering managers pay for multiple AI tools but have no idea if they're getting ripped off. SpendWise gives them that answer in under a minute, no signup needed. The interesting part is that the core audit engine has zero AI in it. It runs 6 hardcoded rules against verified pricing data, so every recommendation is reproducible and verifiable. AI (Groq's Llama 3) only kicks in to write a friendly summary paragraph on top of the structured results. I made this choice because financial recommendations need to be deterministic. Same input, same output, every time. The stack is Next.js 16, TypeScript, Tailwind + shadcn/ui, Supabase for the database, Groq for AI summaries, Resend for emails, and Vitest for testing. Deployed on Vercel. Live app: spendwise-ai-test.vercel.app Source code: github.com/Karam-999/SpendWise-AI Demo The original audit tool: The comeback (re-audit on pricing change): You can try the Round 1 version live at spendwise-ai-test.vercel.app . Pick a tool like Cursor on Teams plan at $40/mo, run the audit, and see the full savings breakdown. The Round 2 features (pricing change detection, re-audit diff view) are on a separate branch and not merged to main yet, but the demo video above walks through the complete flow. The Comeback Story Where it was: The original version was basically a calculator. You fill in your AI tools, it shows you where you can save money, and that's it. If Cursor changed its pricing the next week, your audit was already stale and you'd never know about it. It worked fine as a one-time thing. It had the form, the audit engine, AI
AI 资讯
I Wanted Better Insights Across My Bank Accounts, So I Built MyVault
Most side projects start with a simple frustration. Mine started with a banking app. One of my banks had a feature I really liked. It automatically categorized transactions and showed spending breakdowns in graphs and charts. For the first time, I could easily see how much I spent on restaurants, groceries, transport, subscriptions, and other categories. The problem was that only one of my banks offered this feature. Like many people, I use multiple bank accounts, credit cards, and savings accounts. Two of my other banks provided little more than a long list of transactions. If I wanted a complete picture of my finances, I had to switch between apps and manually piece everything together. As a software engineer, my first instinct was obvious: "Why don't I just build this myself?" That idea eventually became MyVault . The Original Goal The first version of the project was surprisingly simple. I wanted users to: Upload bank statements Extract transaction data Automatically categorize spending View useful charts and reports The goal wasn't budgeting. It wasn't investment tracking. It wasn't accounting. I simply wanted a single place where I could see spending across all of my bank accounts. Once I started building, however, I realized there was a much more interesting opportunity. If all transaction data was already extracted and structured, why not allow users to ask questions about their finances? Instead of searching through transactions manually, users could simply ask: How much did I spend on restaurants last year? What subscriptions am I paying for? Which categories increased the most this month? How much did I spend while traveling? That's when MyVault started evolving from a reporting tool into an AI-powered financial assistant. Building as a Solo Developer One of the biggest challenges wasn't technology. It was building everything alone. When you're working on a side project, you don't just write code. You become responsible for everything: Product decisions B
开发者
Getting silly with C, part &((int*)-8)[3]
submitted by /u/f311a [link] [留言]
AI 资讯
Extended RUM in DocumentDB extension for PostgreSQL: Efficient ESR (Equality, Sort, Range) Queries
Last year, I examined RUM indexes within this series on multi-key indexing, demonstrating that they cannot substitute MongoDB's compound indexes for sorted queries. A year later, Microsoft has fixed this in the DocumentDB extension for PostgreSQL with an Extended RUM index that preserves the ordering of the keys, allowing an ordered scan rather than a bitmap scan. Let's revisit our pagination query to see how it performs now. I start a container with the latest DocumentDB (version v0.112-0 from May 26, 2026): docker run -d --name documentdb-local -p 10260:10260 -p 9712:9712 ghcr.io/documentdb/documentdb/documentdb-local:latest --username franck --password franck --start-pg I can connect to PostgreSQL on port 9712, where many extensions are installed, including the extended RUM index: docker exec -it documentdb-local psql -p 9712 postgres psql ( 17.10 ( Debian 17.10-1.pgdg13+1 )) Type "help" for help. postgres = # \dx List of installed extensions Name | Version | Schema | Description ------------------------- +---------+------------+------------------------------------------------------------ documentdb | 0.112-0 | public | API surface for DocumentDB for PostgreSQL documentdb_core | 0.112-0 | public | Core API surface for DocumentDB on PostgreSQL documentdb_extended_rum | 0.112-0 | public | DocumentDB Extended RUM index access method pg_cron | 1.6 | pg_catalog | Job scheduler for PostgreSQL plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language postgis | 3.6.3 | public | PostGIS geometry and geography spatial types and functions tsm_system_rows | 1.0 | public | TABLESAMPLE method which accepts number of rows as a limit vector | 0.8.2 | public | vector data type and ivfflat and hnsw access methods ( 8 rows ) postgres = # I can also connect to the MongoDB-compatible API: docker exec -it documentdb-local mongosh -u franck -p franck 'mongodb://localhost:10260/?tls=true&tlsAllowInvalidCertificates=true' Current Mongosh Log ID: 6a0b3b537d2a1c3471d1a7ba Connecting to: mo
AI 资讯
Fix: babel-plugin-transform-flow-strip-types broken in Babel 7 and 8
The original babel-plugin-transform-flow-strip-types hasn't been updated in 9 years and breaks silently in Babel 7 and 8 environments. The fix I published a maintained fork that works as a drop-in replacement: npm install --save-dev babel-plugin-transform-flow-strip-types-maintained Then update your .babelrc: { "plugins": ["transform-flow-strip-types-maintained"] } That's it. No other changes needed. What's fixed Babel 7 and 8 peer dependency conflicts Missing syntax plugin declaration Deprecated visitor patterns allowDeclareFields support Automated migration If you want to update your entire project automatically: npx flow-strip-migrate . This updates your package.json and babel config in one command. More info: https://flowstrip.netlify.app npm: https://www.npmjs.com/package/babel-plugin-transform-flow-strip-types-maintained