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

标签:#c

找到 25766 篇相关文章

AI 资讯

ICE is threatening to deport witnesses of its latest shooting

Advocates are demanding that the Department of Homeland Security release bodycam footage of the fatal shooting of Lorenzo Salgado Araujo, a Mexican immigrant who was killed by ICE officers in Houston during a traffic stop earlier this week. But DHS claims the agents involved in the shooting weren't wearing body cameras because of the lengthy […]

2026-07-11 原文 →
AI 资讯

I Was Building a Social App. Then I Accidentally Built an AI Startup.

A year and a half ago, I wasn't trying to build an AI company. I was building a small social platform called spritex-social — nothing fancy, just a side project a handful of friends were testing with me. No grand plan, no investors, no roadmap beyond "let's see if people like this." At some point, users started asking the same basic questions over and over: how do I change my profile, where's this setting, how does that feature work. Instead of writing endless documentation, I thought — why not just let AI answer this? So I wired up Google's Gemini API through Google AI Studio, built a small Retrieval-Augmented Generation (RAG) system, and gave it context about the platform. It was supposed to be a support chatbot. Nothing more. That's not how it went. I found myself spending more time improving the chatbot than improving the actual social app. Every small upgrade made me ask another question: could it remember conversations? Could it use tools? Could it search the web? Could it do things instead of just answering questions? The more I asked, the less interested I became in the social platform I was supposed to be building. Eventually I had to admit it to myself: I wasn't building spritex-social anymore. I was building something else entirely. So I stopped. Not because the project failed — because my attention had already moved somewhere else, and I finally stopped pretending otherwise. That "somewhere else" became RexiO — a Bangla-first AI platform I've been building solo ever since: my own orchestration layer, an intent classifier, 30+ tools, model routing across providers, and eventually our own fine-tuned models trained from scratch on borrowed Colab GPUs. RexiO went public on July 10, 2026. This chatbot pivot is just one chapter of a much longer story — one that actually starts on a Nokia button phone, ২ টাকা data packs, and a ৳20 freelance job that became my first line of code in production. I wrote the whole thing down, unfiltered — the rewrites, the 12-hour

2026-07-11 原文 →
AI 资讯

Stop Writing Prompt Strings: Meet PromptForge Core

Stop Writing Prompt Strings: Meet PromptForge Core As AI becomes part of modern applications, prompts are no longer just strings—they're becoming part of your codebase . Yet most of us still write prompts like this: const prompt = " You are a helpful assistant. \n " + " Summarize the following text. \n " + " Return the output as JSON. \n " + " Keep it concise. \n " + " Use simple language. " ; This works... Until your project grows. The Problem As prompts become larger, they quickly become difficult to maintain. You start dealing with: ❌ Giant string templates ❌ Copy-pasted prompts ❌ Missing variables ❌ Inconsistent formatting ❌ Provider-specific implementations ❌ Difficult debugging Unlike your application code, your prompts have: No structure No validation No type safety What if prompts were treated like code? That's exactly why I built PromptForge Core . PromptForge is an open-source TypeScript toolkit for building production-ready prompts using a clean, structured API. Instead of writing strings... const prompt = " You are... " You write import { pf } from " @promptforgee/core " ; const summarize = pf . define ({ input : z . object ({ text : z . string (), }), output : z . object ({ summary : z . string (), }), messages : ({ text }) => [ pf . system ` You are an expert summarizer. ` , pf . user ` Summarize: ${ text } ` , ], }); Much easier to read. Much easier to maintain. Features PromptForge focuses on developer experience. ✅ Type-safe prompt definitions ✅ Structured prompt composition ✅ Prompt compilation ✅ Validation ✅ Provider-agnostic architecture ✅ Reusable prompt blocks ✅ Modern TypeScript API Compile Once, Use Anywhere Instead of maintaining different formats for every provider... PromptForge compiles your prompt into provider-specific formats. Prompt Definition ↓ Prompt Compiler ↓ OpenAI Anthropic Gemini Ollama Write once. Compile anywhere. Composable Prompts Large AI applications usually repeat the same instructions. With PromptForge you can compose p

2026-07-11 原文 →
AI 资讯

Your AI coding agent will happily ship a breaking API change. I built an MCP server to catch it.

Last month I watched Cursor confidently rename a field across an entire API, commit it, and open a PR. Clean diff, tests green, looked great. It had also just broken a mobile client and a partner integration that were still reading the old field name — and neither Cursor nor I noticed until much later. That's the thing about AI coding agents and APIs: they're fast, they're fearless, and they have zero awareness of your API contract . An agent will drop an endpoint, make a request field required, or change a response type without any sense that a real consumer out there depends on the old shape. The code compiles. Your tests pass (your tests — not the consumer's). The breakage is completely silent until someone downstream feels it, usually in production, usually from an angry message rather than a failing build. We keep giving agents more power to write API changes and nothing to tell them whether a change is safe to ship . So I built that missing piece as an MCP server. The gap: there's no "is this safe?" step in the loop Think about how you'd catch this manually. You'd diff the old and new OpenAPI spec, look for removed endpoints, removed response fields, tightened request contracts, enum narrowing — the classic breaking changes — and decide whether it's safe to merge or whether you need a version bump and a heads-up to consumers. An agent never does that. It has the code in context, not the contract implications . And "did I just break a consumer?" is exactly the kind of question it should be asking before it hands you a diff. Enter MCP If you haven't used it yet: the Model Context Protocol is a standard way to give AI agents tools — little capabilities they can call. Claude, Cursor, and others all speak it. Instead of the agent guessing, it can call a tool and get a real answer. So the fix is simple to state: give the agent a tool that answers "is this API change safe to ship to my consumers?" — and have it call that before it proposes the change. That's the hero

2026-07-11 原文 →
AI 资讯

Building "PitchPassion AI": Transforming Football Passion into Data with Google AI

This is a submission for Weekend Challenge: Passion Edition What I Built I built PitchPassion AI , a web application that transforms text-based football match narratives into informative player performance visualizations using AI. The goal is to help fans quickly understand statistics without having to read lengthy reports. Demo I will include a video demo link below. Video Demo: Video File Code Back-End: Repository Back End Front-End: Repository Front End How I Built It Tech Stack: React for front end, Flask for back end, Google Gemini API. AI Integration: The biggest challenge in sports data analysis is the unstructured nature of the data sources. Match reports typically consist of lengthy paragraphs written by journalists or narratives from spectators. While humans can easily read them, computers (databases) cannot directly process such text into charts or graphs. This is where I utilize the Google Gemini API as a data extraction engine: Natural Language Processing (NLP): Gemini reads the match narrative to comprehend the context—identifying the players involved, the actions performed (goals, assists, tackles), and the quality of those actions. Structured Transformation: I provide specific instructions (prompts) to the model so that it not only understands the text but also transforms it into a JSON format. Data Cleaning: Since AI sometimes includes conversational text in its output, I implemented middleware in Flask to clean the response and ensure that only pure JSON data enters my application. Problem solving: API Stability Issues (Error 503) During development, I frequently encountered 503 Unavailable responses from the Google Gemini API. This was caused by traffic spikes on the server side. Solution: I didn't let the application simply fail. I implemented a retry strategy in my Flask backend. If the API failed due to server load, the system would automatically wait for 2 seconds and retry up to three times before returning an error message to the user. This

2026-07-11 原文 →
AI 资讯

The Complete TypeScript Mastery Guide

Learn TypeScript From First Principles to Senior/Staff-Level Production Engineering If you searched for how to learn TypeScript properly — not just the syntax, but the thinking behind it — this guide is built for that. Most TypeScript tutorials stop at "here's an interface, here's a generic." This one goes further: it's a single, exhaustive TypeScript tutorial and reference that walks through the type system, object-oriented programming, generics, async programming, design patterns, SOLID and DRY principles, error handling, testing, and the tooling that real production teams run in CI — the same TypeScript best practices used at top-tier engineering organizations. Whether you're a beginner looking for a structured TypeScript for beginners path, or an experienced JavaScript developer making the jump to advanced TypeScript and system design, you can read this end to end or jump straight to the section you need using the linked table of contents below. Table of Contents 1. Introduction — What Is TypeScript & Why It Exists 2. Installation, Setup & tsconfig.json Deep Dive 3. Variables & the Complete Type System 4. Functions — Every Form, Overloads, this , and Best Practices 5. Arrays & Tuples 6. Objects & Type Aliases 7. Interfaces 8. Enums & Literal Types 9. Union, Intersection & Discriminated Unions 10. Type Narrowing, Assertions & Type Guards 11. Classes & Object-Oriented Programming 12. Generics — Basic to Advanced 13. Modules, Namespaces & Project Structure 14. Asynchronous Programming — Event Loop to Production Patterns 15. Advanced/Utility Types & the Type-Level Programming Toolkit 16. Design Patterns in TypeScript 17. SOLID, DRY, KISS, YAGNI — Principles Applied With Real TS Code 18. Error Handling Strategies 19. Testing TypeScript 20. Tooling, Linting, Build Systems & CI/CD for Production TS 21. Performance, Compiler Internals & Scaling Large Codebases 22. Interview Cheat Sheet (Expanded) 23. One-Page Quick Revision Sheet 1. Introduction — What Is TypeScript & W

2026-07-11 原文 →
AI 资讯

HowTo: Let's install lots of browsers on Linux!

Here we're going to cover the installation steps of Browsers in Linux - specifically, Debian GNU/Linux . We're covering the procedural steps for this in Debian Testing (Forkey), which is already beginning the gleanings of what will become Debian 14. At the time of writing,the current kernel version is 7.0.13+deb14-amd64. Daily drivers will likely be along the lines of Vivaldi, Firefox, Lagrange, and Brave Browser, and in no particular order. Any others will be mostly for particular reasons like, testing, curiosity, Etc., but some specialized products like the Tor browser, which focus on privacy are also covered. This list is by no means complete, but there's a bunch of them we cover, so let's jump right in! I can haz #Cheezburgerz? 🍔 🍟 Well, let's see... First up is the first rate and fully featured Vivaldi, built on top of the open source Chromium, as are so many others in this list. Vivaldi Manual setup of the Vivaldi Linux repos - According to their website, "you no longer need to do this. After downloading a Linux package and installing it our Linux update repositories will be configured automatically for you to receive updates." That's awfully nice, so visit the download page above and get the .deb package: ~# mkdir -pv /usr/local/packages/vivaldi ; cd /usr/local/packages/vivaldi ~# wget https://downloads.vivaldi.com/stable/vivaldi-stable_8.1.4087.48-1_amd64.deb ~# apt install ./vivaldi * .deb That's it! You're ready to go now. Next up... Firefox ~# apt update && apt install firefox-esr There's none of this messing about anymore with softforks and trying to remember their names...'IceCat?', 'IceWeasel?'. The Trademark issues over branding have been resolved (and that's a good thing). The one thing you might want to look into is SeaMonkey , which combines the Browser with an email client (like Thunderbird), an RSS Reader, IRC client, and a few other goodies. Brave Browser ~# apt install curl ~# curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg ht

2026-07-11 原文 →