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

标签:#ha

找到 12648 篇相关文章

AI 资讯

My Abandoned Cricket Kit Confronted Me. So I Built It a Voice

This is a submission for the DEV Weekend Challenge: Passion Edition . What I Built Everyone will tell you about the passions they have. Nobody talks about the ones they quit. I played cricket every evening from age 11 to 17. I told everyone I'd play Ranji Trophy one day. Then the entrance exam years came, the bat went behind the cupboard, and I never went back. Eight years now. EMBER gives that abandoned passion a voice. You confess what you quit. AI forges its persona: the dusty object, the game itself, or the younger you. Then it talks back , out loud, in a voice matched to its temperament. It asks the question only it can ask: why did you really stop? Then it offers two doors: 🔥 Rekindle it. It negotiates the smallest possible first step ("Pick up your old bat and feel its weight. Sunday evening.") and you seal the pledge on-chain , where you can't quietly delete it. 🕯️ Lay it to rest. It says goodbye properly: a personal eulogy, spoken aloud, and a permanent on-chain stone. Closure is a feature, not a failure state. Every anonymized session joins the Atlas of Abandoned Passions , a live map of what humanity gives up, at what age, and what killed it. When I ran my own confession through it, the app decided my passion should speak as " Your old cricket kit bag ." Its first words: "It's been a while since you hoisted me up here, hasn't it? I still remember the thrill of a good cover drive, too." I built a thing and it emotionally wrecked me on the first test run. Working as intended. Demo 🔗 Live app: https://ember-himanshus-projects-acd54afd.vercel.app Try it in two clicks: tap an example confession (cricket at 17, the closet guitar, the novel at chapter three), headphones on. The voice is the point. A real pledge, sealed on Solana devnet: view the transaction . Code 🔗 Repo: https://github.com/himanshu748/ember How I Built It The loop is confess, converse, decide, commit, belong. Each stage is one sponsor technology doing what it is uniquely good at. Google AI (Gem

2026-07-11 原文 →
AI 资讯

I couldn't find how much heat my PC puts in the room, so I built a widget

I game in a room that warms up fast. I could see CPU usage in Task Manager and watts in HWiNFO if I went looking. What I actually wanted was simpler: How much heat is this machine putting into the air right now? Not in a spreadsheet. In plain language I could glance at while the PC was running. The gap Lots of tools show watts and temperatures . Almost none answer room heat : BTU per hour Heat accumulated over a session Plain context like "about a quarter of a space heater" With ambient temp: still-air rise or rough exhaust CFM The conversion is straightforward ( BTU/hr ≈ watts × 3.412 ), but I didn't want to do it in my head every time. So I built HeatLens — a small desktop widget built around room heat, not raw sensor dumps. What HeatLens shows Total wattage — what the PC is drawing now Heat dissipation — BTU/hr or kW Session heat — BTU or kWh since launch Max temperature — hottest live sensor Trend graphs — watts, heat, and temp over time CFM estimate — with ambient temp: rough exhaust airflow for a +10 °F rise Still-air rise — how fast a reference room would warm with no ventilation Estimated power is labeled separately from measured sensors. Where the data comes from LibreHardwareMonitor / Open Hardware Monitor (HTTP + WMI on Windows) nvidia-smi for NVIDIA GPUs Linux RAPL / hwmon when exposed by the kernel Labeled fallbacks when direct power sensors aren't available On Windows, best results: LibreHardwareMonitor with Remote Web Server on port 8085 . What it is not HeatLens is not a replacement for a Kill-A-Watt at the wall. Software usually can't see monitor power, full PSU loss, or every platform rail. A plug-in meter is still the most accurate whole-system reading. HeatLens is for context : "~400 W gaming → ~1,400 BTU/hr into the room" Session heat over an hour or two Rough CFM / still-air numbers as sanity checks — not duct design Things I learned building it Sensor coverage is messy. Different backends, missing rails, and estimates that need clear labeling.

2026-07-11 原文 →
AI 资讯

Bringing Back the Older Internet: A Website for Juma

This is a submission for Weekend Challenge: Passion Edition What I Built I built a personal tribute website for my cat Juma. The goal of this project was to create a simple webpage to bring back the feeling of the old internet. I have always loved the creativity of old-school websites and things like Neocities pages, Tumblr blogs, pixel art, animated backgrounds... Websites made with personality instead of just functionality. So, I wanted to recreate that feeling by making a small corner of the internet dedicated to someone very special to me: my cat Juma Maruá Ganache. Demo Code You can check out my GitHub repository: thaisavieira / juma How I Built It I built this project using simple and classic web technologies: HTML for the structure of the page; CSS for animations, gradients, responsive design, and the retro visual style; JavaScript for interactive elements such as falling stars and dynamic effects. Prize Categories Not submitting to any prize categories.

2026-07-11 原文 →
AI 资讯

Your model didn't get worse — the wrapper around it did (and you can control that)

My GPT got dumber after the update" gets blamed on the model regressing, or on you prompting worse. Both are unfalsifiable, and both send you to fix the wrong layer. The layer that actually moved is the one you can pin. "The model" is two layers. The weights — the trained network, slow to change, and when they do change it's announced under a new name. And the wrapper — the router that picks which model answers, the system prompt, the default reasoning effort, verbosity caps. The wrapper changes silently, on its own schedule, per product. It's almost always what moved under you. So stop re-tuning prompts to chase it. Pin the wrapper: Force the route. Don't leave it on Auto — set Thinking (or say "think hard") so the router can't quietly demote your prompt to a faster, weaker model. OpenAI's own GPT-5 launch post describes exactly this router (it scores prompts "simple" vs hard); after the backlash they put the picker back (Auto/Fast/Thinking — TechCrunch, Aug 2025). Pin the version. If you build on a model, call its exact versioned ID via the API. A model ID's weights don't change — new versions ship under new IDs — so router and system-prompt churn can't reach you. Own the harness. Running agents? Set the system prompt, reasoning effort, and verbosity yourself instead of inheriting a default. Anthropic's own April 23 post-mortem is the proof: six weeks of "Claude Code got worse" traced to three wrapper changes (a reasoning-effort downgrade, a reasoning-history bug, a verbosity cap their ablations put at ~3% quality) — API weights never touched. A real weights change — a new model — will still move behavior. But that's announced, and you choose when to adopt it. The silent stuff is all wrapper, and the wrapper is the part you can pin. Sources: OpenAI GPT-5 launch (router + "think hard"); TechCrunch, Aug 2025 (model picker reinstated); Anthropic April 23 post-mortem (anthropic.com/engineering/april-23-postmortem); InfoQ and VentureBeat (corroboration); Claude platfor

2026-07-11 原文 →
AI 资讯

One Wikipedia page costs your AI agent 68,000 tokens

i use claude code daily and measured what pages cost it while doing research. an average wikipedia article, for instance, is 68,240 tokens of raw html (tiktoken); nike's homepage is 353,000. claude code's built-in webfetch handles the easy case well. it summarizes wikipedia to about 950 tokens and clears cloudflare on some sites like indeed and ticketmaster. but, and there's always a but, on js-rendered and some anti-bot pages it returns nothing. quotes.toscrape.com/js gives "no quotes found"; n

2026-07-11 原文 →
AI 资讯

How to add a changelog to any web app with one script tag

You ship all the time. A fix here, a new setting there, a feature you spent a whole weekend on. And your users mostly don't notice. That gap is expensive. When people can't see a product moving, it feels abandoned, even when you're shipping every week. They churn a little faster, they email asking for things you built a month ago, and all the momentum you're actually creating stays invisible. The fix is boring and old: a changelog. But not a changelog rotting in a Notion doc nobody opens. One that shows up inside your app , where users already are. Here's the approach I settled on. The idea: a widget, not just a page A "what's new" widget is a small button or badge in your UI. Click it, and a panel slides out with your latest updates. Users see it in the flow of using your product, not on some /changelog page they'd never visit. You really want three things: An in-app widget users actually see. A public page and RSS feed you can link from emails and docs. A way to write updates in plain language and publish in a click. The one-tag version I ended up building a tool for this (honest disclosure below), but the integration is the part worth showing, because it's the pattern any changelog widget should follow: <!-- Paste before </body> --> <script src= "https://cdn.patchlog.io/widget.js" data-project= "your-project-id" data-position= "bottom-right" async ></script> One script tag. No SDK, no npm install, no framework coupling. It behaves the same in React, Vue, Rails, or a plain HTML page. Two implementation details matter, whether you build one of these yourself or evaluate an existing one: Render it in a Shadow DOM. A changelog widget should not inherit or leak styles. If it uses the host page's global CSS, it will look broken on half the sites it lands on. Shadow DOM isolates it completely. Fail silently. A marketing widget must never break the host app. If the network call fails, it should quietly do nothing. What to actually write in it The tool is the easy part. T

2026-07-11 原文 →