DevIdiot!
浮动动画
let bobberPhase = 0;const bobberAnimate = () => { if (!mini || !bobber.parentNode) return; // 已移除则停止 bobberPhase = (bobberPhase + 0.05) % (Math.PI * 2); const offsetY = Math.sin(bobberPhase) * 15; // -15px ~ +15px bobber.style.transform = `translateX(-50%) translateY(${offsetY}px)`; requestAnimationFrame(bobberAnimate); };bobberAnimate(); // 启动sin()永远在-1~1之间所以offsetY永远在-15px ~ 15px之间所以bobber永远在-15px ~ 15px之间上下浮动% (Math.PI * 2)2π 是正弦波的一个周期,所以只需要让相位保持在:0 ~ 2π这一圈就够了。不取模会导致 bobberPhase 无限
ES6 {Destructuring} Deep Dive
We all know what variables are, and there are plenty of times where we find ourselves using objects or arrays with long property names on them over, and over, and over... Wouldn't it be nice to just have a variable referring to that property without assigning fifty variables manually? Well, that's where destructuring comes in - destructuring is a way of saving values from complex data types to a variable without having to make a bunch of them by hand. Basics of DestructuringThe basic syntax
Lucent 7 R/E 5ESS Telephone Switch Rescue (2024)
<a href="https://news.ycombinator.com/item?id=45973955">Comments</a>
Cloudflare outage on November 18, 2025 post mortem
<a href="https://news.ycombinator.com/item?id=45973709">Comments</a>
AI Wives 2026: A Developer's Look at the Code Behind the Relationships
The conversation around AI companions is everywhere, but for us developers, the real intrigue isn't just the sociology—it's the tech stack. By 2026, the "AI wife" phenomenon is projected to move from niche to mainstream, and it's being built on a foundation of sophisticated code. Let's break down the architecture, the data models, and the ethical APIs of this new frontier in human-computer interaction.The Tech Stack of Artificial CompanionshipSo, what does it take to build a digital being? It's
Rebecca Heineman – from homelessness to porting Doom (2022)
<a href="https://news.ycombinator.com/item?id=45973573">Comments</a>
Dynamic React: Rendering Remote JSX without a Build Step
Dynamic React: Rendering Remote JSX without a Build Step IntroductionModern React development is often synonymous with complex build pipelines involving Webpack, Vite, or Rollup. While these tools offer optimization, they introduce a significant barrier to entry and rigidity. This project, ReactDynaCodeDynaHtml, demonstrates a powerful alternative: loading, compiling, and rendering React components dynamically in the browser at runtime. Core Techniques 1. In-Browser Compilat
Blender 5.0
<a href="https://news.ycombinator.com/item?id=45972519">Comments</a>
Ambiguity & PII detection and blocking in real-time (AI chats)
<p>Some companies don't allow PII to be sent to an LLM, what's a dev to do? Well, trustquery is an open source library that can block PII, and detect ambiguity to provide clickable menus.</p><p>MIT open source.</p><p>trustquery.com</p>
I Let an LLM Write JavaScript Inside My AI Runtime. Here’s What Happened
Two weeks ago I read a line about tool use with Claude that stuck in my head. Paraphrased:Direct tool calls don’t really scale.Have the model write code that uses tools, and execute that code instead.At the same time, I was knee-deep in wiring a JavaScript execution environment into Contenox, my self-hosted runtime for deterministic, chat-native AI workflows.So of course the thought was:What if I just let the model write the JavaScript and run it inside the runtime? 😅This post is about what happ
Built a tool to detect fake TikTok timer streams — created entirely with Claude Code
Exposing Fake TikTok Timer Streams — Built 100% with Claude CodeA few weeks ago, I started using Claude Code to develop a tool that fetches live analytics data from TikTok streams.My goal: expose streamers who run fake timer streams with obviously manipulated numbers. I think it’s pretty unfair how many creators trick viewers on the platform. 🔍 What the tool doesPulls live TikTok stream analyticsShows viewer counts, likes, diamonds, gift activity & moreHelps identify suspicious or
Coding Challenge Practice - Question 59
The task is to compress repeating letters with count number given a string.The boilerplate code:function compress(str) { // your code here}If it's not a string, return ""if(!str) return "";Start from the beginning of the string, and look at each character one by one. Keep a counter that tracks how many times the current character repeats consecutively.let result = "";let count = 1;If the next character is the same as the current one, increase the counterfor(let i=1; i <= str.length; i++) {if
Introducing Dolphin - new way to make Android Apps using React.
🤔 “Why does learning mobile app development feel way harder than building for the web?”Most beginners today jump into coding through web dev because it feels fast, visual, forgiving, and honestly… fun!But the moment they try building Android apps, the vibe suddenly changes:new languages, heavy setup, long builds, and tons of steps before even seeing a single button on screen.It just felt like something is unnecessarily complicated.Meanwhile, vibe-coding and AI tools have already opened the
Gemini 3: Google's Boldest AI Bet Yet – Why Developers Can't Ignore It
If you're knee-deep in code like me, you know the drill: every few months, a new AI model drops, and suddenly everyone's buzzing about how it'll "change everything." But let's be real – most of the time, it's hype with a side of incremental tweaks. Not this time. On November 18, 2025, Google unveiled Gemini 3, their most advanced AI yet, and it's not just another update. It's a full-on powerhouse that's topping benchmarks left and right, especially in areas devs care about most: reasoning, codin
10 Developer Habits That Separate Good Programmers From Great Ones
10 Developer Habits That Separate Good Programmers From Great OnesThere's a moment in every developer's career when they realize that writing code that works isn't enough. It happens differently for everyone. Maybe you're staring at a pull request you submitted six months ago, horrified by the decisions your past self made. Maybe you're debugging a production issue at 2 AM, surrounded by energy drink cans, wondering how something so simple could have gone so catastrophically wrong. Or mayb
nice
🎃 Halloween Party 2025: A Responsive Halloween Landing Page for the Dev.to Frontend Challenge 👻 Hadil Ben Abdallah ・ Oct 30 #devchallenge #frontendchallenge #webdev #javascript
Show HN: Guts – convert Golang types to TypeScript
<a href="https://news.ycombinator.com/item?id=45969708">Comments</a>
Build an Accessible Chat and Video App in React
Imagine joining a team meeting but having no idea who’s speaking. Or trying to follow a busy chat thread, only for your screen reader to miss half the messages.For the 1.3 billion people living with disabilities, this is a daily experience with most communication tools. Real-time apps like chat and video platforms often overlook accessibility, leading to issues such as:Dynamic updates that screen readers can’t keep up withVisual-only indicators like reactions or hand raisesAudio-only conversatio
FoalTS - NodeJS framework - version 5.1 is out
Version 5.1 of Foal is out and brings some new features! FeaturesThe framework is now tested against Node.js 24 and so this version is officially supported.The Disk and LocalDisk services have a new method mkdirIfNotExists to creates directories. This is useful when using the local file system to ensure that a directory exists before saving files. Otherwise, an error can be thrown when it does not. On cloud storage services such as S3, directories are created automatically when saving files
Pebble, Rebble, and a Path Forward
<a href="https://news.ycombinator.com/item?id=45969250">Comments</a>