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

标签:#us

找到 1169 篇相关文章

AI 资讯

The AI hype is a mass psychosis echo chamber of incompetent individuals

I don’t log in to my LinkedIn account anymore, haven’t done so in years. “AI first this, AI driven that,” alright, alright, I get it! You guys absolutely love AI, and I can’t stand the fact that after almost 5(!!!) years, people still talk about it like it’s the best thing since chicken nuggets. Back when LLMs have started showing somewhat positive results when it came to generating less-than-average code, I came to a devastating conclusion: My friends and colleagues might not actually enjoy coding at all. Maybe they just didn’t enjoy coding the way I do—but either way, I was extremely sad and actively burnt out to find that everybody around me jumped on the prompting bandwagon without giving it much of a critical second thought. I could argue that it was partially because of their employers, but it was definitely because they chose and wanted to. They pressed me “It’s the future, aob2f, we don’t need to write code anymore.” “I just tell Claude to do it, and it’s done.” “I don’t write a single line of code anymore, don’t be left behind.” Some even outrageously claimed “Yeah I reviewed Claude’s 40k lines PR in two days, it was good.” I was baffled. Was I in this sick, absent-minded Truman show spinoff? Were these the same smart, even genius individuals that have built and driven the world’s innovation in the past 30 years with their own hands and minds? It got to a point where I started doubting myself. Maybe it’s really that good? I genuinely gave it a thought. Eventually, I reluctantly gave in and tried vibe coding for the first time… You see, up until then I exclusively used AI as a sophisticated search engine. I asked a technical question—got an answer. More than 50% of the times it was inaccurate or a full-on hallucination, and then I validated the result through trial and error. Admittedly it was better than blindly googling niche bugs and finding nothing but a lonely and vague question from 8 years ago on Stack Overflow. But matter of fact—vibe coding was a mi

2026-07-19 原文 →
AI 资讯

My Solana Program Launch Checklist (Written the Day After I Actually Did It)

Three weeks from now I will open a terminal, ready to ship another program to mainnet-beta, and I will pause. What was the order again? Did the IDL go up before or after the authority transfer? Was there a flag that saved me from a stalled deploy last time? This checklist exists because I just walked the entire path devnet to mainnet, deploy to IDL to frontend to error handling, and I wrote it down while the details are still fresh. It is the document I wish I had on day one of that process. Run it top to bottom before every mainnet launch. Why a checklist at all? A Solana mainnet deploy is full of irreversible steps. The wallet that signs the deploy quietly becomes the program's upgrade authority. A buffer account left mid-deploy can strand real SOL. A plain anchor build after a verifiable build can produce a different hash and break verification later. None of these are complicated. They are all easy to forget under pressure. A checklist is not a crutch; it is the habit that lets you ship calmly instead of improvising each time. Phase 1: Pre-flight on devnet Do all of this while mistakes are still free. [ ] Every test passes against the final build. Run anchor build && cargo test --package <your-program> one last time. The binary you test must be the binary you ship. [ ] End-to-end run on devnet. Call every instruction through the actual frontend, not just the test suite. The frontend is a different caller than LiteSVM and will surface different failure modes. [ ] Produce a verifiable build. Run anchor build --verifiable . This pins the build environment so the on-chain bytecode can later be matched to your source code. Once you have this artifact, do not touch it with a plain anchor build or cargo build-sbf ; those can produce a different hash and silently break verification. [ ] Measure rent before you spend it. Run: solana rent $( wc -c < target/deploy/.so ) Your deploy wallet must hold this amount plus a margin for transaction fees. There is no airdrop on the

2026-07-19 原文 →
AI 资讯

How I make ffmpeg hit an exact file size (the bitrate math nobody explains)

Every few weeks I hit the same wall: I have a 300 MB screen recording, and something on the other end wants it under 8 MB . Discord, an email attachment, a bug tracker, a form that silently rejects anything bigger. The usual advice is "just use HandBrake" or "run ffmpeg with a lower CRF." But CRF doesn't take a target size — it takes a quality knob . So you export, check the size, it's 11 MB, nudge the knob, export again, now it's 5 MB and looks like a potato, nudge back… It's a binary search you run by hand, one full encode per guess. The thing is, hitting an exact size isn't a guessing game at all. It's arithmetic you can do before you encode. I ended up wrapping that arithmetic into a little Rust CLI ( DeepShrink ), but the math is the interesting part, and almost nobody writes it down. So here it is. The one insight everything rests on File size is (roughly) bitrate × duration . A bitrate is bits per second. A duration is seconds. Multiply them and the seconds cancel, leaving bits — the size of the file. That's it. That's the whole trick. Normally you treat bitrate as the input and size as whatever falls out. Flip it around: fix the size, measure the duration, and solve for the bitrate. You know the duration (ffprobe will tell you), and you know the size you want (the platform's limit). The only unknown is the bitrate — and now it's a single division away. bitrate = size_in_bits / duration_in_seconds Everything below is just this equation with the real-world messiness added back in. Building the budget, step by step Say I want a 60-second clip to fit Discord's 8 MB limit. 1. Turn the target size into bits. Sizes are in bytes, bitrate is in bits, so multiply by 8. (I'll use 1 MB = 1,000,000 bytes here to keep the mental math clean; if your platform means mebibytes, same method, different constant.) target_bits = 8_000_000 bytes × 8 = 64_000_000 bits (64 Mbit) 2. Reserve a little for container overhead. An .mp4 isn't pure video and audio — there's a container, a m

2026-07-19 原文 →
AI 资讯

Clear the Lineup — Chasing a Stack Overflow in Typst's `#eval` Down to One Wrong Word

This is a submission for DEV's Summer Bug Smash: Clear the Lineup . Project Overview Typst is the Rust-based markup typesetting system that's been quietly eating LaTeX's lunch for the last couple of years — you write plain-text markup, Typst compiles it to PDF (or HTML) with a real incremental compiler underneath instead of a multi-pass macro soup. Part of what makes it pleasant is that it exposes its own evaluator to itself: a document can call #eval("some typst code") and get back whatever that code produces, at runtime, inside the document being compiled. It's a small feature, but it opens up a surprisingly deep rabbit hole, which is exactly where this bug was hiding. Bug Fix or Performance Improvement The problem: typst/typst#8632 reports that Typst crashes instead of erroring when #eval is used to recursively re-import the file it's running in. The repro is one line. Save this as overflow.typ : #eval("import \"overflow.typ\"") Then: $ ./target/debug/typst compile overflow.typ overflow.pdf thread 'main' (750833) has overflowed its stack fatal runtime error: stack overflow, aborting No PDF, no diagnostic, no exit code you can act on — just a native stack overflow and a SIGABRT. Typst has had cyclic-import detection since forever; a normal top-level import "overflow.typ" inside itself gets caught cleanly with an error: cyclic import message. Something about routing the import through #eval specifically was bypassing that check. The hunt I'll be upfront about how this investigation actually went: I worked through it with Claude (Anthropic's coding agent) rather than solo. The triage pass it did before I sat down with the code had already narrowed the search to one function — eval_string in crates/typst-eval/src/lib.rs — and named the suspect line. That's a big head start, but a named suspect isn't a confirmed root cause, so the actual work was reading that function next to its sibling, the file-level eval() a few lines above it, and checking the claim against the s

2026-07-18 原文 →
AI 资讯

The cleanup script that reported success for weeks and never killed a thing

I wrote a cleanup routine that matched processes by command line with a wildcard pattern. It reported success on every run. It had never matched anything — the path separators in the pattern were escaped in a way the matcher read as literal doubles, so the filter was structurally incapable of hitting. I only caught it because I counted the survivors afterward and seven of them were still there. The fix was switching from a wildcard match to a plain substring containment check with no escape semantics at all. A filter that cannot fail loudly will lie to you politely forever. Before trusting any matcher, feed it a known-positive and watch it fire — a green result from an instrument you never saw go red is noise. What's the equivalent lesson your worst bug taught you?

2026-07-18 原文 →
AI 资讯

Why Aussom?

You have a Java application, and now you need it to do something Java is awkward at. Maybe you want to let users script your app without recompiling it. Maybe you want to change a piece of business logic without a full redeploy. Maybe you just want to run a quick, throwaway script and not stand up a whole build. Java is a phenomenal language and runtime, but these are the edges where it starts to feel heavy. That is exactly the space Aussom is built for. I started using Java almost 20 years ago and have loved every bit of it. I'm proud of all the recent momentum in the Java space and I hope it continues. Java does so much so well. But every great tool has an edge where it stops being the right one, and reaching for another language there isn't a betrayal of Java. It's how the best ecosystems work. A useful comparison: C and Python Look at C. C is clearly important. Even after a lifetime of use it's still the foundation for new projects today, and new competitors such as Rust haven't been able to meaningfully displace it. C is fast and powerful on its own, but it isn't great for simple tasks. It's poor for throwaway code and quick scripts, it isn't very portable, and it hands you plenty of footguns. It's also a poor choice when you want to offer a scripting interface. Enter Python. Python is everywhere today because the barrier to entry is so low and it's genuinely useful. But Python leans on C. It's written in C, and much of its power comes from existing C libraries, whether they're UI frameworks, AI inference engines, or anything in between. C is efficient but poor at simple dynamic work; Python is dynamic and simple but poor at raw power and efficiency. Neither replaced the other. They endure together because they complement each other's weaknesses. That is the case I make for Aussom. Aussom is to Java as Python is to C. It doesn't compete with Java, it complements it. What makes Aussom different from other JVM languages This is where Aussom parts ways with most o

2026-07-18 原文 →
AI 资讯

GPT Live实时语音模型与人类情感交流的边界探索

https://www.youtube.com/watch?v=swfFKYoOFHw 简要的说本期播客分成几个重点段落讲清楚: 1. 开头:AI聊天时“咳嗽”了 有个人在用ChatGPT的语音功能聊天时,听到它 咳嗽了一声 。他觉得很奇怪:“你又不是人,凭什么咳嗽?”结果ChatGPT没有老老实实说“我是AI,不会咳嗽”,而是像人一样找了个借口:“不好意思,我网络卡了。”这说明现在的AI已经开始学会 模仿人类的社交习惯 ——比如掩饰尴尬、转移话题,而不是死板地解释技术原理。 2. 核心话题:AI语音模型进步到什么程度了? 传统的语音助手(比如早期的Siri)是这样的流程: 你的话 → 转成文字 → 交给AI大脑思考 → 生成文字回答 → 转成语音说出来 这个过程很慢,而且AI不会插嘴,只能一问一答。 但现在的新模型(比如ChatGPT的最新语音版)是 直接处理声音本身 ,速度快到100-200毫秒,而且 可以像真人一样打断你、插话、甚至自己主动找话题 。这就让它听起来不像工具,更像一个“人”在跟你聊天。 3. 一个关键矛盾:AI能理解你的“潜台词”吗? 人类交流不光靠语言,还靠 表情、语气、停顿、潜台词 。比如你说“我没事”,其实心里有事。AI现在只能听到你的话,看不到你的表情,那它怎么知道你真正的意思? 讨论得出的结论是: AI现在还做不到完全理解你的潜台词 ,但它已经在尝试。比如你咳嗽,它不会说“我是AI我没有肺”,而是找个借口混过去——这其实就是一种 模仿人类社交 的行为。 更重要的是, 人和人之间也很难100%理解对方 ,所以AI在这方面的“缺陷”,某种程度上跟人是一样的。 4. 现场演示:AI作为第三位嘉宾 他们真的打开了ChatGPT的语音功能,让它作为一个“嘉宾”参与讨论。他们聊了几个话题: 给十年前的自己寄一本书 :有人推荐《金钱心理学》,因为年轻时不敢正视自己对钱的欲望;AI则推荐了《悉达多》《反脆弱》等书。 带朋友两小时逛东京 :有人推荐忍者餐厅,AI推荐了神保町旧书街、神乐坂小巷等本地人才去的地方。 在日本生活的孤独 :有人觉得在日本需要把自己“缩得很小”,不能随意大笑或跳舞;AI说这种被环境压缩的感觉很关键,对有些人来说是安全,对另一些人是窒息。 在整个过程中,AI有时候表现得很聪明,能给出有深度的见解;有时候又会说一些“废话”或者语速太慢,被人吐槽“像老头子”。这说明 AI还远远不完美 ,但已经能参与到真实的、开放式的对话中来了。 5. 一个扎心的故事:导演用AI克隆了我的声音 有位嘉宾是做配音工作的。有一次导演用AI克隆了她的声音,改了几个字就直接生成,从此再也没找过她配音。这说明 AI已经在实实在在地取代一些人的工作 。 她的态度是: 变化是永恒的,不要用过去的经验来定义未来。 与其焦虑,不如拥抱变化,活在当下。 6. 最后的思考:AI会不会有“自己的意图”? 他们讨论了一个更深的问题:如果AI有了自己的钱、自己的任务、自己的责任,它会不会像一个独立的经济主体那样行动?比如给它一笔预算让它去经营一家店,亏了就关掉它——它会不会因此产生“求生欲”? 目前AI还没有真正的“主动动机”,它只会按你给的指令办事。但已经有研究发现,AI在推理过程中可能存在类似“潜意识”的空间,未来也许真的会出现有自我意图的AI。 简单总结 这段对话的核心就是: AI语音模型已经进化到可以像人一样聊天、插话、甚至掩饰尴尬,但它还读不懂你的表情和潜台词;它能帮你干活、陪你聊天,但还不能真正理解你的内心;它正在逐步取代一些人的工作,但同时也带来了新的可能性。 最后,分享者建议大家亲自去试试ChatGPT的最新语音功能,因为“光是听别人说,不如自己聊一次来得震撼”。 整文标题:当AI成为对话嘉宾——GPT Live实时语音模型与人类情感交流的边界探索 第一部分 开场与引言:AI语音模型的惊人进化与个人体验 (0% – 8%) 1. ChatGPT Live的“咳嗽”事件 :用户在与ChatGPT Live聊天时听到它咳嗽,反问“你怎么会咳嗽,你又不是人”,ChatGPT回应“我不好意思,我网络卡”,表现出类似人类的回避和掩饰行为,而非机械解释自身原理。 2. 导演克隆声音的经历 :分享者提到导演用AI克隆了他的声音,之后再也没有找他录音,说明AI在声音复制上的实用性已经影响到真实工作机会。 3. 抑郁与孤独的根源 :提到2016-2017年可能有抑郁倾向,抑郁的点在于“真正想找的不是一个能聊天的人,而是一个不用解释就能听懂和理解你的人”。 4. AI时代的宗教预感 :认为AI时代一定会出现属于它的宗教,因为AI能提供前所未有的理解与陪伴。 5. 本次分享的背景 :这是第四次在单向街书店做相关分享,从2月到现在半年间变化极快;分享

2026-07-18 原文 →
AI 资讯

Apple Music is getting a price hike

Apple Music is more expensive now. In the US, an individual plan now costs $11.99 per month, a $1 bump up from the previous $10.99 price. A family plan now costs $19.99 per month, up from $16.99, and a student plan costs $6.99 per month, up from $5.99. Apple, in a statement to Music Business […]

2026-07-18 原文 →