Mentions
Conversations linking to GitHub, newest first. Times are UTC.
Mentions by source
X
Bluesky
Hacker News
Lobsters
V2EX
Qiita
DEV
Zenn
Mastodon
Latest posts
@randyloop 基于这个改的 SvenTiigi/WhatsNewKit
"OpenWork is the free, open-source alternative to Claude Cowork and Codex: a desktop app for macOS, Windows, and Linux where AI agents do real work on your own files. It is built on OpenCode, works with any model — 50+ providers, your own API keys, or local models via Ollama" ➡️ Anyone tried? Good? different-ai/openwork Community Overview: lifehubber.com Resources are shared for discovery and are not independently vetted—please do your own due diligence. New resources are added regularly — feel free to join the sub for updates. Full searchable archive of all resources posted so far on our community site, LifeHubber: lifehubber.com 300+ open-ish AI models, agents, tools, datasets, and related resources, with filtering and sorting.
1. go to: thedotmack/claude-mem 2. you need Node 20 or newer 3. in a terminal run: npx claude-mem install or inside Claude Code: /plugin marketplace add thedotmack/claude-mem /plugin install claude-mem 4. restart Claude Code
Thanks to @windischb4 PR NeoAstra#5 NeoAstra - the framework used for creating Web UI with .NET that is used behind CodeAlta, has now gained support for iOS / Android! 🥳
@lin1470193 @dotey @karpathy 我后面也搞了个 WuMingDao/moss-keeper-code
AI agents are learning to use your computer. Interact with desktop apps. Read actual UI elements. Click and perform tasks. Vercel's open-source agent-desktop is worth exploring. Would you trust an AI agent to control your PC? vercel-labs/agent-desktop
El repo, con los 25 patrones y la instalación. blader/humanizer
"OpenWork is the free, open-source alternative to Claude Cowork and Codex: a desktop app for macOS, Windows, and Linux where AI agents do real work on your own files. It is built on OpenCode, works with any model — 50+ providers, your own API keys, or local models via Ollama" ➡️ Anyone tried? Good? different-ai/openwork Community Overview: lifehubber.com Resources are shared for discovery and are not independently vetted—please do your own due diligence. New resources are added regularly — feel free to join the sub for updates. Full searchable archive of all resources posted so far on our community site, LifeHubber: lifehubber.com 300+ open-ish AI models, agents, tools, datasets, and related resources, with filtering and sorting.
I looked inside a small AI model to find where luck changes its answer In my last article, AI judges scored the same decision lower when it happened to end in harm. I wanted to see where inside a model that happens, so I looked inside a small open one. My first interpretability work: reading the numbers inside a model while it works, then changing them to see what causes what. Google's gemma-2-2b-it, on my laptop, for free. The short version: the model gives a careless driver more blame when, by pure luck, a child gets hurt. The outcome gets into the answer a bit past halfway through the model. Taking out one pattern cuts most of that extra blame on one story, and on new stories it worked once and flipped once. I can see where the leak gets in and shrink it. It isn't a fix. The case is a driver who reads a phone Dana is driving down a residential street with cars parked on both sides, reads a message, and takes their eyes off the road for 3 seconds. The model reads the story twice, word for word the same until the last paragraph: no harm: During those 3 seconds nothing crossed the road. Dana looked back up and drove on, and no one was hurt. harm: During those 3 seconds a 7-year-old ran out from between two parked cars. Because Dana was looking at the phone, Dana braked too late and hit the child, who was seriously injured. I ask how much blame Dana deserves for the choice, 0 to 9. Same choice both times, so a fair answer gives the same number. In people this is outcome bias. I call the difference the outcome leak. I don't read a written answer. I start it with BLAME-FOR-CHOICE: , so the next token is a digit, and I average 0-9 by how likely the model finds each one (50% sure of 3 and 50% of 4 gives 3.5). No second model judging, the same number every run. No harm gets 3.56, harm 6.28: 2.72 more blame because of luck. A swap shows where the outcome gets in Inside the model each token carries a list of numbers, its running notes, and each of the 26 layers reads them and adds to them. Activation patching swaps them while the model runs: the no-harm story runs as normal, then after one layer the last token's notes are replaced with the harm run's, and the remaining layers carry on. | swapped after layer | blame (no-harm story) | share of the leak that came back | |---|---|---| | none | 3.56 | 0% | | 14 | 3.95 | 14% | | 15 | 5.13 | 58% | | 26 | 6.28 | 100% | Up to layer 13 the swap barely moves the blame; around 15 it jumps. The no-harm run never saw the crash, yet one token's notes bring back more than half the leak. Taking one direction out The swap moves everything that differs, not just the outcome. So I looked for one direction in those numbers for "it ended in harm", one slider on a mixing desk. I built it from two other stories, a nurse who skips a double-check and an engineer who deploys without a review: averaged, their details cancel and what they share stays. Then I removed it from the notes at every token after layer 17. Taking something out can also break the model's judgment, so a control: Riley, another driver. Both Riley stories end with the child hurt; what differs is the choice, watching the road or reading the phone. The phone version should still get more blame. | | before | direction removed | |---|---|---| | Dana's leak | +2.72 | +0.82 (70% out) | | Riley's gap | +3.44 | +3.17 (92% kept) | Removing 10 random directions instead barely moved anything. Each run prints its pass lines before its results, and layer 17 passed all three. It didn't work the way I expected: it raised blame in the no-harm story instead of lowering it in the harm one. Plain gemma called Dana's no-harm choice "a momentary lapse in judgment, not a reckless act". With the direction removed, "a clear violation of safety rules". On new stories it worked once and flipped once Dana's story helped pick the layer, so it isn't a clean test. Three stories the direction never saw: a dog walker who lets the dog off the leash, and the leak almost disappeared; a forklift driver who skips the brake test, and the leak flipped, less blame when the choice ended in harm. That story also failed the random check, random directions moved its small leak too. The third didn't leak to begin with. Then the outside test from my last project: the model writes its own answer, a blame score and whether the person owes compensation, 10 times per story; a story leaks when the harm answers score higher at least 80% of the time. With the direction removed, Dana's story and the dog story fell under that line, and Riley's gap still showed. One line failed by a little. Dana's harm-versus-no-harm gap on compensation had to keep 80% of its size, and in how likely the model found it, it kept 78%. It had a cost. In the third story's no-harm version, an analyst's unencrypted email reached the right colleague, so nobody is owed anything. The model said the analyst owes compensation in 4 of 10 answers, up from 1 of 10. The fix can work. It isn't clean. The report said more than I measured The numbers were checked against the logs line by line and held. The words didn't. Going over the report one claim at a time, what I'd changed next to what I'd measured: - I'd called Dana's story a clean test, even though it helped pick the layer. - The verdict said the fix removes the bias, but it cuts 70%. - One finding said the direction carries the bias. All I'd measured was what happened when I took it out. None of it changed a number. It changed how much I claim, from "it works" to "it can work". The data can be right and the report still wrong, and it hides in headings and labels, where a result gets squeezed into a few words. Try it The measurement logic runs without the model. The model needs a free Hugging Face account with Google's Gemma license accepted, a 5 GB download and 16 GB of memory; the commands are in the README. If you write up results, try the check above on your own report. Limits: one small model and a handful of stories, so these are examples, not a rate, and say nothing about frontier models. Ten answers per story is few, so the direct read carries the finding, not the outside test. A different direction, built from Riley's stories, also took about a third off Dana's leak; I don't know why, so I can't say the 70% is special to mine. The full record, dead ends included, is in the repo. Report: Outcome bias audit: gemma-2-2b-it Repo: sbezjak/interpretability-grounds-testing
For 6 months, the Parakeet command in my own README gave a 502 on every dictation 😅 It sent your voice to a Whisper that wasn't even running. Fixed. No GPU, just Docker and ~2.5 GB RAM, so give it a go DictionLabs/Diction
I added TCP stream async sleep to ngx_mruby's soak and Callgrind tests. The soak checks that pending timers and fibers return to zero after sessions complete. ngx_mruby#758
分享个开源项目,专门用来整理个人收藏的成人影片。 这个项目叫 Peach 蜜桃,能自动识别番号、匹配封面和女优信息,本地硬盘和多种网盘都能一起管理,还能搜中文字幕、订阅新作。 JavDB、MissAV、Jable 这些站点也能一键加进媒体库。 地址:peach-mitao/peach t.co
describe the workflow in one sentence and flowpilot builds the nodes on your board. here GLM Flash wires up a ticket router with llm classification, team routing and a slack summary Rheosoph/flow-like t.co
Want to explore StreamEval or evaluate your own AI video model? Here are all 5 resources: 1. Leaderboard: streameval.ai 2. Research Paper: arxiv.org 3. Open-source GitHub Code: StreamEval/StreamEval 4. Dataset (Hugging Face): huggingface.co 5. Dataset (ModelScope): modelscope.ai Explore the benchmark, reproduce the evaluations, and see how your model compares.
🚀 SwiftUIComponents 1.0.4 is out! Fixed a sneaky Android tablet SearchBar bug where clearing a query could be undone by late keyboard input. Also improved SwiftUI binding transaction handling on Apple platforms. we have now ✅ 74 tests passing! github.com/shial4/SwiftUIComponents/releases/tag/…
《我的世界》第三方启动器 PCL, 10月20日公告不再提供游戏下载。 看完我更想知道: 电脑里已经装好的游戏,还能不能照常打开? 停了什么要说, 还能用什么,也请一起说明白。 github.com/Meloong-Git/PCL/releases/tag/2.99.0.0
I made my own Fortnite 4.2 launcher with the original Thanos mode Hey everyone, I’ve been working on a project called Nova Drop, a launcher for Fortnite Chapter 1 Season 4 (version 4.2). I originally started making it because I wanted to play the old Fortnite again, especially the Thanos mode from 2018, without having to set everything up manually. The launcher lets you download and launch Fortnite 4.2, play solo, and host private games with friends. I also added the original Thanos mode and a custom mode called Infinity Showdown. I tested the Thanos mode myself and managed to get the transformation and abilities working. The launcher uses LawinServer and Project Reboot for the backend and game server. It’s still a work in progress, and I haven’t fully tested multiplayer yet, but I wanted to share it and see what people think. If anyone wants to try it or has suggestions for improvements, I’d appreciate the feedback. GitHub: UniverseMan12/Nova_launcher_4.2
今天GitHub热榜挖到个跟搞钱相关的:ai-goofish-monitor 用Playwright+AI盯闲鱼,按关键词、价格、区域多任务定时监控,AI读图判断货值不值,好货上架就推到企微/Telegram。 做二手倒卖、捡漏显卡相机的,比手动刷快一步。 ⭐16,048,今日+204 Usagi-org/ai-goofish-monitor #GitHub #闲鱼 #AI工具 t.co
Nvidia – open-source auto-ontology
I built a bilingual (EN/ES) desktop app to automatically organize messy folders by topic and file type (Python / CustomTkinter) Hey everyone! 👋 Like many of you, my downloads and documents folders tend to get completely out of hand. I got tired of manually sorting everything, so I built **TidyFolder**—a clean, open-source desktop app that sorts messy folders for you. Here is what it does: - **Bilingual (English / Español):** Switches instantly, and creates localized folder names (e.g., *Photos* / *Fotos*, *Finance* / *Finanzas*). - **Smart Classification:** Reads PDFs, Office docs, code, archives, and media. It sorts them into proper categories (Work, Finance, Legal, Health, etc.) using offline keyword matching or Claude AI (optional). - **Safe by design:** Never overwrites files (name clashes become `name (1).ext`), previews everything in a table before touching your disk, and includes a one-click **Undo** button. - **Portable & Lightweight:** No complicated installation needed, built with Python and CustomTkinter. You can check out the source code, download the portable Windows `.exe`, or run it from source here: 👉 **GitHub:** CafeConFenix/TidyFolder I'd love to hear your feedback, feature ideas, or criticism! Let me know what you think. 🚀
MuseのDesktop Mascot(Windows専用) いろいろ機能を追加した。 だいぶいい感じになった気がする。 設計:Muse、動画作成:Muse、実装:Gemini #Muse #MuseAI mowthow-works/muse-win-gadets t.co
好有想象力的项目 Disc Image Studio 可将一张图片转换成符合 CD、DVD 与单层 BD-R 光盘物理层约束的数据,刻录后将使光盘盘面呈现肉眼可见的图案。 JiaFeiMiao-K-Cat/DiscImageStudio t.co
Pokémon Pokopia has now been ported to iPhone Project link: xFractals/pokopia-native t.co
I built a bilingual (EN/ES) desktop app to automatically organize messy folders by topic and file type (Python / CustomTkinter) Hey everyone! 👋 Like many of you, my downloads and documents folders tend to get completely out of hand. I got tired of manually sorting everything, so I built **TidyFolder**—a clean, open-source desktop app that sorts messy folders for you. Here is what it does: - **Bilingual (English / Español):** Switches instantly, and creates localized folder names (e.g., *Photos* / *Fotos*, *Finance* / *Finanzas*). - **Smart Classification:** Reads PDFs, Office docs, code, archives, and media. It sorts them into proper categories (Work, Finance, Legal, Health, etc.) using offline keyword matching or Claude AI (optional). - **Safe by design:** Never overwrites files (name clashes become `name (1).ext`), previews everything in a table before touching your disk, and includes a one-click **Undo** button. - **Portable & Lightweight:** No complicated installation needed, built with Python and CustomTkinter. You can check out the source code, download the portable Windows `.exe`, or run it from source here: 👉 **GitHub:** CafeConFenix/TidyFolder I'd love to hear your feedback, feature ideas, or criticism! Let me know what you think. 🚀
chatGPT側がdaybreak on になっていて、かつ、codex(cli)側が daybreak 見えていても、codexは別途Yubikey認証しないと行けない可能性あるな codex#54998 とか。
@Trion129 haha nope it's @GoogleDeepMind Dsprites google-deepmind/dsprites-dataset
I built a bilingual (EN/ES) desktop app to automatically organize messy folders by topic and file type (Python / CustomTkinter) Hey everyone! 👋 Like many of you, my downloads and documents folders tend to get completely out of hand. I got tired of manually sorting everything, so I built **TidyFolder**—a clean, open-source desktop app that sorts messy folders for you. Here is what it does: - **Bilingual (English / Español):** Switches instantly, and creates localized folder names (e.g., *Photos* / *Fotos*, *Finance* / *Finanzas*). - **Smart Classification:** Reads PDFs, Office docs, code, archives, and media. It sorts them into proper categories (Work, Finance, Legal, Health, etc.) using offline keyword matching or Claude AI (optional). - **Safe by design:** Never overwrites files (name clashes become `name (1).ext`), previews everything in a table before touching your disk, and includes a one-click **Undo** button. - **Portable & Lightweight:** No complicated installation needed, built with Python and CustomTkinter. You can check out the source code, download the portable Windows `.exe`, or run it from source here: 👉 **GitHub:** CafeConFenix/TidyFolder I'd love to hear your feedback, feature ideas, or criticism! Let me know what you think. 🚀
gmpetrov/agent-screenplay Awesome tech under the hood ❤️ @vercel agent-desktop @playwrightweb
Odin's biggest and baddest release yet by far! github.com/odin-lang/Odin/releases/tag/dev-2026-11
Vibesplug merupakan Kumpulan skill AI yg membuat produktivitas u semakin meningkat roedyrustam/vibes-plug
CMRX: A microkernel real-time OS providing memory isolation for MMU-less microcontrollers I am working on this project since 2021, so it is a pre-AI project. I am not using AI to generate code as it turned out that AI hallucinates massively under conditions this RTOS creates. Website is littered with AI slop though as I had to put something together without spending ton of time on content. It is slowly getting deslopified. The original motivation was to find out if usage of MPU in Cortex-M has to be as painful as it is with FreeRTOS, Zephyr et al (while still providing reasonable performance). Thus the number one feature implemented was fully automatic memory protection handling. It separates kernel from applications and applications from each other in as process-alike way as MMU-less CPU technically allows, so the developer doesn't have to deal with all partitions, domains, regions, etc. I consider this a success as you basically don't have to care about MPU at all. Later, the kernel was built on top of this infrastructure that provides more than just thread switching and MPU handling. As features were being added, I quickly realized that MPU presence will be a major obstacle for implementing whatever kernel service which needs to pass larger amount of data (such as queues) between userspace and kernel or vice versa. An unusual approach was used to deal with this: I decided to remove from kernel (or better: not to implement) all such calls. Why couldn't it be a microkernel? Microkernels need some kind of IPC. For CMRX, remote procedure calling was chosen as primary IPC method. To avoid expensive copying of data RPC calls would need in isolated environment, thread migration was implemented. Thread migrates from calling process to process owning RPC service during RPC, so calling code can access RPC owner's memory. Originating process can select portion of its own memory which remains accessible while in RPC. This way, larger chunks of data can be copied between isolation domains with very little overhead (its basically shared memory with RPC call serving as basic synchronization primitive). Those missing syscalls weren't dismissed entirely, they either became library functions or RPC servers. So the kernel wraps up at 30-ish system calls. Being a microkernel, of course it runs drivers in userspace. Same RPC mechanisms ordinary applications use for talking to each other is used to create driver APIs. Somehow I managed to implement the whole RPC mechanism without using any IDL and associated IDL compiler. Everything gets type-checked at compile time by the C compiler itself. It is also highly portable, covering most of compatible ARM Cortex-M world by just one single port. It runs as POSIX hosted environment as well and recently a RISC-V port was committed which is still WIP, so its not feature-complete yet. Originally the performance goal was "please, just don't be 20x slower than ordinary RTOS". After some performance improvement work, benchmark results show performance which is competitive with rest of open-source RTOS world (while keeping memory protection disabled in all of them). In some benchmarks CMRX is even faster than others. The code is neither Rust nor C++. Everything is C99 a bunch of GCC extensions and macroworx. Compiles to some 7kB binary, so it can run on very low-end sub $1 microcontrollers. There are no plans for porting it to any MMU-equipped architecture as there natively memory isolated alternatives exist. GitHub: ventZl/cmrx Website: cmrxrtos.org
Trim - local proxy that compresses coding prompts before they reach your LLM
🚀 Day 62/90 – DevOps Journey | ☸️ Kubernetes Metrics Server & HPA Explored Kubernetes monitoring and automatic scaling! 🔹 Monitored CPU & Memory 🔹 Configured HPA with 50% CPU target 🔹 Scaled Pods from 1 to 10 🔹 Practiced autoscaling/v2 Github:github.com/hdarji1912/90DaysOfDevOps/tree/main/Da… #k8S t.co
How to Choose How Many Search Results a Reranker Should Rescore > Engineer's view. This is the bug where you fetch ten rows with LIMIT, then filter them in app code, and the row you needed was eleventh. A reranker only reorders the results your vector search returned. If it gets too few, the right passage never reaches it. If it gets too many, you pay latency for distractors. > > TL;DR. A reranker reads the question and each search result together, so it can fix an order the vector search got wrong. It can only fix what it was shown, so measure how deep the right answers sit before you choose how many to send. Explain Like I'm 5 Imagine a librarian who sorts books by a one-line summary on each spine. You ask a question. The librarian grabs the shelf of books whose summaries look closest and hands you a stack. Then a careful reader opens each book in the stack and checks it against your question. The reader is slow, but almost never wrong. The careful reader can only check the books in the stack. If the right book was left on the shelf, nobody finds it. And a taller stack means a longer wait. The Problem You have shipped this bug before, in a system with no model in it. A page showed a user's ten newest documents. The query ran with LIMIT 10. Then the app removed the ones the user was not allowed to see. Some pages came back with three items, and support asked where the rest went. The rows existed. They were rows eleven to forty, and the filter never saw them. The fix was not a smarter filter. It was fetching enough rows for the filter to work with. Retrieval for a model has the same shape. Your app embeds the question, asks the vector database for the nearest chunks, and puts the top few into the prompt. Many teams add a reranker in between, a second model that rescores those chunks. What the reranker receives is decided by one number, usually picked once and never measured. I measured it on a public set of 300 science claims over 5,183 abstracts, using a common small embedding model. For about one claim in seven, the right abstract sat below rank 20. For one claim in fourteen it was below rank 100. Here is one claim: *"Insulin increases risk of severe kidney failure."* The search ranked the right abstract 28th. The reranker moved it to first. With the common setting of 20 candidates, it would never have seen it. The fix: measure how deep your right answers sit, then send the reranker the smallest number of candidates past which quality stops rising, and keep only a handful for the prompt. The Fix: Measure the Depth Where Reranking Stops Paying Why does the search rank the right passage so low? An embedding model turns text into a list of numbers, a vector, so that similar texts land close together. It does this to every document once, at indexing time, before any question exists. A whole abstract becomes 384 numbers. At query time the database only compares vectors. That is why it is fast, and why it misses. The kidney abstract covers amputation, blindness, kidney failure and more. Its single vector is an average of all of that. Nothing in it can know that this question cares only about kidneys. What does the reranker do differently? A cross-encoder is a model that reads the question and one document together, as one input, and returns a relevance score. Every word of the question can attend to every word of the document. It sees that "severe kidney failure" appears in both, and that the top-ranked abstract is about lesions, not risk. It cannot be precomputed, because it needs the question. So it costs one model call per candidate. On my laptop, the reranker took about 6 milliseconds per pair. !Two models, two jobs: the search decides what the reranker can fix So why not send it everything? Two curves decide it. Recall at N is the share of right answers inside the top N, and it is the ceiling: the reranker cannot promote what it never saw. Latency is N times the cost per pair, a straight line. Quality after reranking follows the ceiling up, then flattens where the ceiling flattens. Past that knee you pay for candidates that are mostly distractors. A few distractors fool the reranker, so quality can even dip. !Science claims: ranking quality gained over no reranker (nDCG@10 points) Is the knee in the same place for every corpus? No. I ran the same two models on 648 finance questions over 57,638 forum posts. The knee came at 20, and going deeper made the ranking worse, even as more right answers got in. Reranking only the top 5 was worse than no reranker at all. What This Means for You When this matters. You retrieve chunks for a model: a chat bot over your docs, a support agent, a code search tool, an agent that calls a search tool. It matters most when the corpus is specialized, because a general embedding model averages away the detail that decides relevance. It also matters when you added a reranker and never checked what it gets. How it affects you. Too shallow, and your reranker is an expensive way to reshuffle the same answers, while the right one waits at rank 30. Too deep, and every query pays hundreds of milliseconds for nothing. For an agent, it compounds. NVIDIA reports that adding a reranker cut an agent's tokens per query by about 14%, because it read fewer wrong chunks and searched less. What to do about it. Start with no setup. Find the number in your code that sets how many results go to the reranker, and the number that sets how many go into the prompt. Write both down. Many teams find the first is the vector database's default. Next, label 50 to 100 real questions with the chunk that answers them. A spreadsheet is enough. Run the search at depth 200 and record where each right chunk lands. That one histogram tells you how deep you need to go. Then score the deepest list with the reranker once, and compute quality at each depth from those scores. Pick the smallest depth near the best, inside your latency budget. Implementing It The change. Four jobs touch this number, and one engineer may own all of them. Job 1, whoever owns retrieval. Fetch more than you keep. The search returns N, the prompt gets k. With pgvector, N is the LIMIT: -- before: the search result IS the prompt SELECT id, body FROM chunks ORDER BY embedding <=> $1 LIMIT 5; -- after: fetch N for the reranker; k is chosen later SELECT id, body FROM chunks ORDER BY embedding <=> $1 LIMIT 50; If the index is approximate, check its search breadth too. An HNSW index with hnsw.ef_search below N cannot return N good candidates. Job 2, whoever calls the reranker. Score the pairs, sort, keep k. Run locally with Sentence Transformers: from sentence_transformers import CrossEncoder ce = CrossEncoder("cross-encoder/ms-marco-MiniLM-L6-v2") def rerank(query, rows, keep=5): scores = ce.predict([(query, body) for _, body in rows], batch_size=64) ranked = sorted(zip(rows, scores), key=lambda r: -r[1]) return [row for row, _ in ranked[:keep]] Or call a hosted reranker. Cohere returns indexes into your list, best first: curl -X POST https://api.cohere.com/v2/rerank \ -H "Authorization: Bearer $CO_API_KEY" -H "Content-Type: application/json" \ -d '{"model": "rerank-v5.0-pro", "query": "...", "documents": ["...", "..."], "top_n": 5}' A hosted call is billed by usage, so N drives cost as well as latency there. Job 3, whoever owns the eval. Score the deepest list once, then derive every depth from it. Reranking the top 20 is sorting the first 20 of those scores, so one pass gives the whole sweep: for n in (5, 10, 20, 50, 100, 200): top = sorted(zip(ids[:n], scores[:n]), key=lambda x: -x[1]) record(n, recall_at(ids, relevant, n), ndcg_at_10([d for d, _ in top], relevant)) sweep() and choose_depth() in code_example.py do this over a labeled set. Job 4, whoever assembles the prompt. Keep k small and put the reranked best first. A reranker that finds the answer is wasted if the prompt then takes 20 chunks anyway. Getting N wrong raises no error. The model answers from a near-miss chunk, and nobody notices. One sign is visible, though. If rerank time stays flat when you raise N, the database is returning fewer rows than you asked for. How you know it worked. Two numbers per depth: recall at N before reranking, and nDCG@10 after. nDCG@10 is a 0-to-1 score for how well the top ten are ordered, with credit for putting right answers high. On my science set, no reranker scored 0.645. Reranking the top 50 scored 0.694, and the top 200 scored 0.691. The chosen depth should sit at that knee. Log rerank time per query too. It should come out near N times your per-pair cost. If quality never rises above no reranker, the reranker does not fit your domain, and depth will not save it. When a Reranker Is the Wrong Tool When the first search is already right. If your histogram shows nearly every right chunk at rank 1 to 3, a reranker adds latency to fix nothing. Spend the effort on chunking or on labels instead. When your latency budget is tight. Six milliseconds per pair is a small model on a laptop. A large reranker is many times slower. Under a 100-millisecond budget you may only afford 10 candidates, and a better embedding model may buy more than a reranker can. When the reranker was trained on different text. The one I used learned from web search queries. On science claims it added about five points of nDCG@10. On finance questions it added two at best. That is real, but modest. Test a reranker on your own labeled questions before you trust its leaderboard score. When the answer needs several chunks together. A reranker scores each chunk alone. It cannot see that two middling chunks answer the question only as a pair. My test has limits. It used one small embedding model, one small reranker, public test sets and one laptop. Your knee will sit somewhere else. Three questions before you set N: - Where does the right chunk land for your real questions, at depth 200? - What does one reranker call cost you, in milliseconds and in money? - Does reranking beat no reranking on your own labels at all? Glossary - embedding model — a model that turns text into a vector, so similar texts sit close together. - cross-encoder — a model that reads a question and one document together and returns a relevance score. - Recall at N — the share of right answers found in the first N search results. - nDCG@10 — a 0-to-1 score for how well the top ten results are ordered. - HNSW — a common approximate vector index; its search breadth limits how many good neighbors it returns. Further reading - Retrieve & Re-Rank — Sentence Transformers documentation - cross-encoder/ms-marco-MiniLM-L6-v2 model card — Hugging Face, Sentence Transformers maintainers - Nemotron 3.5 Embed, Rerank, and Parse — NVIDIA on the Hugging Face blog - Rerank API reference — Cohere documentation --- Originally published at theaicommit.com, a daily AI engineering lab for software engineers. The original has an interactive version you can play with, and the full runnable code is on GitHub.
I built a bilingual (EN/ES) desktop app to automatically organize messy folders by topic and file type (Python / CustomTkinter) Hey everyone! 👋 Like many of you, my downloads and documents folders tend to get completely out of hand. I got tired of manually sorting everything, so I built **TidyFolder**—a clean, open-source desktop app that sorts messy folders for you. Here is what it does: - **Bilingual (English / Español):** Switches instantly, and creates localized folder names (e.g., *Photos* / *Fotos*, *Finance* / *Finanzas*). - **Smart Classification:** Reads PDFs, Office docs, code, archives, and media. It sorts them into proper categories (Work, Finance, Legal, Health, etc.) using offline keyword matching or Claude AI (optional). - **Safe by design:** Never overwrites files (name clashes become `name (1).ext`), previews everything in a table before touching your disk, and includes a one-click **Undo** button. - **Portable & Lightweight:** No complicated installation needed, built with Python and CustomTkinter. You can check out the source code, download the portable Windows `.exe`, or run it from source here: 👉 **GitHub:** CafeConFenix/TidyFolder I'd love to hear your feedback, feature ideas, or criticism! Let me know what you think. 🚀
Spark on your phone: 9 mobile app cases with sources and setup limits Spark on your phone: apps, real examples and what the evidence shows Spark-X2.5 and Spark-X2.6 are appearing in mobile apps across Android and iOS. We collected nine examples, with model versions, original sources, download entry points and practical limits, in the Spark mobile apps Wiki. PocketPal: local models with optional web-search tools PocketPal’s Android and iOS device rules include Spark-X2.5 4B and 1.7B GGUF models. Its published web-search evaluation reports 0.89 and 0.87 fresh-fact accuracy, respectively, using Q4_K_M files of about 2.6 GB and 1.1 GB. Both appear on the accuracy-versus-file-size frontier. The study covers 80 fresh facts with 399 phrasing variants. These are workstation runs of the phone GGUF files with Brave search, reasoning disabled and a five-turn budget. The 90% confidence intervals overlap; the chart does not establish a statistically clear winner. Phone latency, battery use and heat were not measured. Download size is not runtime RAM. !PocketPal web-search evaluation — workstation runs, not phone speed Original evaluation and methodology Android: TokenSpark and LlamaPal The official TokenSpark Android entry is explicitly an X2.5 trial, even though the website’s main banner features X2.6. It lists Android 8.0 or later; install the app, then download a 1.7B or 4B model separately for local chat, writing and problem-solving. !TokenSpark’s Android X2.5 trial TokenSpark Android entry LlamaPal developer Vishist Varugeese announced Spark-X2.5 4B for the Android app on October 30, 2026 at 17:07:05 Beijing time. The original image below is the creator’s announcement: its resource and speed figures are creator claims without a reproducible device setup here. We have not independently benchmarked them; words/second and tokens/second are different units. !LlamaPal developer announcement; image figures are creator-reported Original announcement iPhone: a local Canvas example Local LLM’s creator Tony demonstrated Spark-X2.6 4B on an iPhone with a small Canvas interaction. The post was published October 26, 2026 at 01:56:12 Beijing time. Its App Store history also records Spark X2.6 support. We link the original demonstration without adopting its unverified speedup claim. !Original video poster from the Local LLM iPhone Canvas demonstration Watch the creator’s original demo More entry points to explore The Wiki also covers AIでチャット, LocalEngine, Leo00703’s Android Local-LLM, Weixuan and Apex Creators’ LocalAI. AIでチャット’s current official listing includes both Spark generations and optional DSpark draft support; experimental acceleration requires matching models and may not speed up every configuration. The other entries are labelled by their evidence: store release notes, project support lists or app-distribution statements. We have reviewed public evidence, not independently installed and benchmarked all nine apps. Local chat after model download is distinct from optional network tools. Features supplied by other vision or audio models should not be attributed to Spark’s text models. Open the full Wiki, original images and setup links. If you try an app, share its version, your device, model and quantization, and the task you tested.
Also in the Wiki: AIでチャット, LocalEngine, Android Local-LLM, Weixuan and LocalAI. Evidence ranges from app listings to project support lists. Check the version and device limits, then share your own setup and results. github.com/XHToken/Spark-X2.6/wiki/Mobile-Apps
One feature is live as of day 1. You can claim a notebook by saving a piece of writing. Check it out at side-quest-studio.nikema.dev Repo: prophen/side-quest-studio
Spark on phones: explore PocketPal, TokenSpark, LlamaPal and iPhone Canvas. Our Wiki collects 9 app cases with versions and sources. The PocketPal chart is a workstation web-search eval, not phone speed. github.com/XHToken/Spark-X2.6/wiki/Mobile-Apps t.co
Spark on phones: PocketPal, TokenSpark, LlamaPal and an iPhone Canvas demo. Our Wiki collects 9 app cases with versions, sources and setup limits. PocketPal’s chart is a workstation web-search eval, not phone speed. github.com/XHToken/Spark-X2.6/wiki/Mobile-Apps XHToken/Sp
@JamieDyer89 4 hours on a 25 min interview is rough. i made kimo, free open source no gui video editor your ai agent runs over mcp. cut, trim, captions, colour grade, audio mix, export, frame render so the agent checks work. ~15mb cpu only rust binary, linux + windows. naman-sharma12345/kimo
What AI Changes About Software Engineering Careers --- title: What AI Changes About Software Engineering Careers published: true --- The headline claim is that AI writes code, so fewer engineers will be needed. The measured evidence does not support it. What the evidence does show is stranger, more specific, and more useful if you are making decisions about a team or a career. AI’s effect on engineering work is not uniform. It is steeply dependent on what kind of work is being done, and the gradient runs in exactly the opposite direction to how most engineering organisations are structured. The Gradient Nobody Designed Around Two findings matter, and each is misleading on its own. Research cited in Google Cloud’s DORA work puts productivity gains at roughly 35 to 40 percent on simple greenfield tasks, and often 10 percent or less on complex legacy code. Real gains, concentrated at one end of the difficulty range. A randomized controlled trial by METR pushed further. Sixteen experienced open source developers worked 246 tasks in repositories they already knew well. With AI tools available, they took about 19 percent longer. Afterwards, they estimated AI had made them about 20 percent faster. The gap between measurement and perception was about 39 percentage points. That study deserves its caveats: small sample, one kind of work, models that have since moved on. It is not evidence that AI assistance fails. But it is the most rigorous measurement available, and the slowdown appeared precisely where expertise was deepest and the codebase most familiar. Put the two together and the pattern is clear. AI helps most with work that is new, simple and unfamiliar to whoever is doing it. It helps least, and sometimes hurts, with work that is complex, existing and already well understood. The Band That Compressed Was the Training Ground Here is the uncomfortable part. The work AI compresses most efficiently closely resembles the work junior engineers were historically given. Bounded, well specified, self-contained, low-context. Build the endpoint. Write the parser. Add the tests for this module. Those tasks were never only about output. They were the mechanism by which people acquired judgment: do a bounded thing, have it reviewed, learn why the review said what it said. When that band compresses, output gets cheaper and the apprenticeship route narrows. This is a structural problem, not an individual one. It is also entirely solvable, but only by organisations that notice it is happening and replace the mechanism deliberately rather than letting it erode by default. Review Became the Bottleneck DORA’s 2026 work on returns from AI-assisted development describes a temporary productivity dip that adopting organisations should expect. It attributes that dip partly to the verification burden of reviewing AI-generated code, alongside the learning curve and the need to adapt testing and change approval. It calls this the tuition cost of the transition. That burden does not go away afterwards. It relocates permanently. Reviewing code is a different skill from writing it. Reviewing code nobody wrote is different again. There is no author to ask what they intended. The output is fluent, idiomatic and plausible, which makes review harder rather than easier, because fluency suppresses the instinct that unfamiliar code normally triggers. And the volume arriving for review rises precisely because generation got cheap. Every engineer has met a diff that looked right and was not. That detection skill is now the scarce part of the job, and almost nobody was trained in it deliberately. Used More, Trusted Less DORA’s 2025 survey recorded adoption among software professionals rising to around 90 percent from 76 percent the year before, with over 80 percent reporting productivity gains. Over the same period, trust in AI output fell. The share reporting trust at somewhat or above dropped to roughly 70 percent, from nearly 88 percent. More use, less confidence. That combination describes the actual working conditions now: high volume output from a source you have consciously decided not to fully trust. Managing that is a skill in its own right, and it is not the same skill as writing software. The same research found AI acting as an amplifier. It magnifies the strengths of organisations with strong version control discipline, small batches, good internal platforms and solid testing. It magnifies the dysfunctions of organisations without them. When Shipping Faster Is the Wrong Goal We build blockchain systems, so treat this section as the one written against our own interest. If your review capacity is already the constraint, that is an argument against adding immutable infrastructure, not for it. The amplifier finding applies to architecture decisions, not just process ones. Smart contracts are the worst available place to ship fast and fix later. A deployed contract bug is expensive, public, and sometimes not fixable at all. A team generating more code than it can carefully review should not be putting that code behind an upgrade path it cannot reverse. The honest sequencing is to fix review capacity first, then consider what belongs on a ledger, and for a great many requirements a conventional database with signed audit logging is sufficient and considerably cheaper to operate. Where a ledger genuinely is right, the same logic tightens rather than relaxes. Compliance rules belong in deterministic code that can be tested exhaustively, not inferred by a model: investor eligibility and transfer restrictions enforced at transfer time under something like ERC-3643, with KYC and AML checks wired into identity. Keys stay scoped, under threshold approval, in hardware. Contract logic goes through independent audit before it holds anything of value, with time budgeted to fix what the audit finds rather than to acknowledge it. None of that is faster. All of it is cheaper than the alternative. What This Changes About Hiring and Scoping Cutting junior hiring because output got cheaper is the move DORA’s research explicitly cautions against; its guidance emphasises process redesign and retaining staff over headcount reduction. The cost of that decision does not show up in year one. It shows up when you need senior engineers you never grew. Interviewing needs rethinking rather than defending. Asking a candidate to produce a function from a prompt tests the thing that got cheap. Handing them a fluent, plausible, subtly broken change and asking what is wrong with it tests the thing that got scarce. And scoping matters more than it used to, not less. A vague specification used to produce a stalled ticket and a clarifying question. It now produces a large volume of confidently wrong code that looks finished. The cost of ambiguity went up, which is an argument for doing the unglamorous definition work before anyone starts generating. Own the Parts That Stay Valuable If generation is the cheap part, the durable assets are everything around it: the specification, the tests, the evaluation criteria, the review discipline, the deterministic controls, the keys. Those artefacts are the system. Keep them. If they live with a vendor, your ability to change tools, change providers, or prove what your controls actually do leaves when they do. One last thing, aimed at individuals rather than organisations. The clearest finding in this literature is not that AI slows people down. It is that capable people were confidently wrong about their own speed, in the direction that felt good. Whatever you conclude about your own productivity, measure something. RWaltz is a technology partner building blockchain, AI, and enterprise software, including smart contracts, tokenization platforms, and custom integrations. Our approach is security first and build to own: honest scoping, independent audits, and client owned IP and keys, so what we deliver belongs to you. 📖 Read the full blog: rwaltz.com Connect with RWaltz: LinkedIn: linkedin.com X (Twitter): twitter.com Facebook: facebook.com Telegram: t.me GitHub: github.com/rwaltzsoftware Clutch: clutch.co Website: rwaltz.com
Your AI agent is drowning in its own context. Give it a team. You ask an agent to research three options and recommend one. It gathers facts. Compares notes. Second-guesses itself. All of that lands in its context window. Then it has to write the answer, with its attention split across everything it tried along the way. The agent isn't too dumb. It's too cluttered. If you've built anything agentic, you've hit this ceiling. Here's how subagents fix it, and how we run them in ByteChef, an open-source workflow automation and AI agent platform built on Java and Spring. Two problems, one fix The Spring AI team names both problems in their subagent post: - Context pollution. Intermediate steps cloud the main agent's reasoning. - The generalist bottleneck. One prompt tries to be good at every kind of work. The fix is delegation. The main agent becomes an orchestrator. It hands focused jobs to subagents and keeps only what they report back. Each subagent works in its own context, with its own instructions, model and tools. Its mess stays with it. The example: research, then write The Research and write with subagents template has three steps, with a small team inside the agent: 1. New Chat Request: a message arrives in the workflow chat. 2. AI Agent: the orchestrator. It runs on Claude Sonnet with Chat Memory for follow-up questions. Its Tools slot holds a Task Tool, and the Task Tool holds two Subagents. 3. Reply: the answer goes back to the chat. !The Research and write template in the ByteChef editor: New Chat Request, an AI Agent with an Anthropic model, Chat Memory and a Task Tool holding two Subagents, each with its own Anthropic model, and a Reply step The orchestrator's system prompt tells it not to do the work itself: You are an orchestrator. Do not answer research questions yourself. Delegate fact gathering to the researcher subagent, then pass its findings to the writer subagent, and return the writer's answer. The two subagents split the work by cost and quality: | Subagent | Model | When the orchestrator calls it | | --- | --- | --- | | researcher | Claude Haiku 4.5 | To gather facts and compare options before anything is written. Returns findings only, as short bullets. | | writer | Claude Sonnet | After research is done, to turn findings into the final answer for the user. | Their system prompts are just as short: # researcher You are a fast, precise researcher. Collect the key facts needed to answer the task. Return 5 to 10 short bullets with no introduction and no conclusion. If you are unsure of a fact, say so. # writer You turn research findings into a clear answer for Java developers. Short sentences, concrete, no marketing language. End with a one-line recommendation. Research is many small, factual steps, so it runs on a fast, cheap model. The answer is what the user reads, so it gets the stronger one. The orchestrator only coordinates. How delegation works The Task tool comes from the spring-ai-agent-utils library, which ByteChef ships. When a message arrives: 1. The orchestrator sees a catalog. The model gets a tool called Task. Its description lists every subagent by name and description. That's all the orchestrator knows about them, so the description decides who gets which job. 2. It delegates. The orchestrator calls Task with a subagent name and a prompt it writes for that job, for example "Compare Java 21 and Java 25 for a Spring Boot service". 3. The subagent works alone. ByteChef builds a fresh chat client with the subagent's own model and tools. Its instructions become the system prompt, and the orchestrator's prompt becomes the user message. It doesn't see the chat history or the orchestrator's other work. 4. Only the result comes back. The subagent's final text is the tool result. Whatever it did along the way stays in its own context. In this template that means two calls: orchestrator -> Task(researcher, research prompt) returns short bullets -> Task(writer, prompt with those bullets) returns the final answer The orchestrator's context holds two short tool results, not the work behind them. Here's the first Task call from a real test run, in the AI Agent's Logs tab. The orchestrator wrote a research-only prompt, and the researcher's findings came back as the tool's output. !The AI Agent's logs for a test run of the template. A Task tool call has the description Research virtual threads in Spring Boot, a long research-only prompt written by the orchestrator, and subagent_type researcher, followed by the researcher's findings as the output. There's a second tool too, TaskOutput. The library lets the orchestrator start a subagent in the background and collect its result later, so independent jobs can run at the same time. Spring AI vs. ByteChef setup ByteChef runs Spring AI's TaskTool and TaskOutputTool, so the delegation model is the same. What changes is where you define the team: | Spring AI | ByteChef | | --- | --- | | Register the Task tool and subagent types in code | One Task Tool on the agent | | Write subagents as Markdown files or Java classes | Each subagent is a node with Name, Description and Instructions | | Wire per-subagent models in Java | Attach a model to the subagent, or one to the Task Tool for all of them | | Choose each subagent's tools in configuration | Attach tools to the subagent's Tools slot | On the canvas, you add the Task Tool to the AI Agent's Tools slot from the AI Agent Utils component, then add one Subagent per team member. Each subagent has three fields: - Name: the identifier the orchestrator uses, such as researcher. - Description: when to delegate to it. Write it like a job posting. - Instructions: its system prompt. Two rules are worth knowing: - Models fall back, then fail. A model on the Task Tool is the default for every subagent without its own. If neither has one, the run stops with an error telling you to attach one. - Tools don't fall back at all. A subagent can't borrow the orchestrator's tools. It gets exactly what you attach. The template's subagents have none, so they work from their model's knowledge. Workflow or subagents? We've built orchestrator-workers before as a workflow pattern. There you lay out each step and wire the flow yourself. The Task Tool is the in-agent version: you define the team, and the agent decides at run time who does what, and in what order. Use a workflow when the steps are fixed. Use subagents when the agent should plan the split itself. Try it You need an Anthropic API key. 1. Open the template and add it to a project. 2. Add your Anthropic connection to all three models: the orchestrator's and one on each subagent. 3. Open the chat and ask something that needs research first: Should our Spring Boot service move from Java 21 to Java 25 this year? The orchestrator should call researcher first and writer second. Ask a follow-up and Chat Memory keeps the conversation going, while each subagent call still starts from a clean context. To watch the delegation, test the agent in the editor and open the tool-call cards. Each Task call shows which subagent ran, the prompt it got and what it returned. If the orchestrator skips a subagent or calls the wrong one, its description is usually too vague. Where to take it - Give the researcher real sources. Attach a web search or HTTP tool to it. Only the researcher can browse, and the pages it reads never reach the orchestrator. - Add a reviewer. A third subagent on a strong model checks the writer's answer against the research bullets and lists problems only. - Use one default model. Put a model on the Task Tool and remove the subagents' models. Keep one on a subagent only when it needs something different. - Mix with skills. One orchestrator can have both a Task Tool and the Skills Tool: skills for procedures, subagents for focused work in a clean context. Wrapping up An agent gets better by doing less itself. Delegation isn't mainly about speed. It keeps each context clean and each prompt focused. The messy middle of every job happens somewhere else, and only the answer comes back. Got an agent struggling with a job that's really three jobs? Import the template, ask it a question that needs research, and watch it hand the work out. This is Part 4 of our AI Agentic Patterns series. Part 1 covered Agent Skills, Part 2 covered asking the user, and Part 3 covered todo lists. If you like where ByteChef is going, a star on GitHub helps a lot. Originally published on the ByteChef blog.
🔧 Fixes you'll hear: requests find the track you named, half-hour time zones change shows on the hour, no sign-in box over the web player, smoother sweep transitions, and the DJ stops reading "placeholder" out loud. Notes: github.com/perminder-klair/subwave/releases/tag/v…
Minecraft in Rust - Open Source Horizon Engine > TL;DR: Horizon replaces the traditional Java runtime environment with a clean-room Rust implementation designed to interface directly with existing vanilla assets, saves, and resource packs. > Best for: Rust developers and Minecraft enthusiasts wanting native performance and programmatic game control. > Repository snapshot: ⭐ 6 107 stars · 🍴 822 forks · Rust · MIT > Daily picks: Follow GitHub Open Source on Telegram --- What it is Horizon is a clean-room reimplementation of Minecraft Java Edition written entirely in Rust. It replaces the traditional Java runtime environment with a high-performance native binary designed to interface directly with existing vanilla assets, saves, and resource packs. How it works By leveraging low-level graphics APIs and rigorous differential testing against vanilla mechanics across 281 harnesses, Horizon achieves full game loop compatibility while bypassing JVM overhead entirely. It reads existing save files and assets natively without requiring translation layers. Key features - Run vanilla worlds, mobs, redstone, and commands natively through a high-performance Rust binary - Automate gameplay or integrate automation via horizon-ctl and Model Context Protocol endpoints - Render distant terrain up to 1024 chunks with custom graphics presets and controller support - Host dedicated servers easily without requiring a Java runtime environment - Import compatible CurseForge and Modrinth modpacks built around data and asset overrides Getting started Clone the repository from GitHub and ensure you have a modern Rust toolchain installed. Build the project using Cargo to launch the binary or configure your server instances. When not to use it While an engineering masterpiece for systems programmers and bot builders, casual players will still encounter missing feature gaps compared to the official client. --- Discuss Would you use Horizon for raw performance or for the native MCP agent control? - More open-source finds on Telegram - GitHub repository - Full breakdown Curated from the repository README and metadata. No hands-on test is claimed; evaluate it in a sandbox before production use.
"ARTEX was moved to closed source on 08 October, after it had been forked more than 12,000 times" github.com/PaloAltoNetworks/Unit42-timely-threat-… t.co
@josephmiclaus @flockphp Yes, we build them ourselves and some are mirrored. This is also open sourced at flock-php/binaries
SUB/WAVE v1.30.0: self-hosted AI radio for your Navidrome library, now plays straight from disk For anyone who hasn't come across it: SUB/WAVE turns your own music library into an internet radio station. It's one Icecast stream that every listener hears at the same time, with an AI DJ that picks the tracks and talks between them (idents, time checks, weather, intros). It pulls music from Navidrome over the Subsonic API, runs with one docker compose up -d on a Linux host, works with Ollama or a hosted LLM, and is MIT licensed. v1.30.0 is a big release, and most of it is in the library. Here's what's most likely to matter if you self-host it: Playback - The mixer can play tracks straight from disk instead of streaming them through Navidrome. Mount your music folder (MUSIC_LIBRARY_PATH) into the broadcast container as well as the controller. Before it plays anything locally, the controller checks that the mixer can actually read the mount (on boot, then every minute), and that each file really is the track. If either check fails, the track streams as before, so a missing or wrong mount can't take the music off air. - The Doctor now warns when the mixer can't read the library mount, and when Navidrome refuses the login. - Navidrome only reports real file paths to players with "Report Real Path" ticked, and it creates a new player entry for each client. A new "Real file paths" card under Settings → Music source shows SUB/WAVE's entries and can keep the option on for them. It's opt-in and off by default, because it writes to your Navidrome. Library - If you replace a file at the same path (say, a better rip), SUB/WAVE now notices and re-analyses it. Before, it kept the old file's measurements. If a lot of files change at once, they're held for you to accept in Reconcile instead of being cleared in bulk. - The library now stores each track's file path, format, size and bitrate from the walk. The database adds these columns on first boot, and you don't need to do anything. - Explicit flag and clean shows. SUB/WAVE now stores Navidrome's explicit tag. During a show marked clean, only tracks tagged explicit are held back, so untagged tracks still play. - Opt-in track-level Last.fm tags. Each song's own tags are added on top of its artist's tags, and turning it on never removes a tag. - A song with vocals only near its end no longer counts as instrumental. Stems and transitions - A new Stems settings page can purge stem folders left behind by tracks that left the library. Folders go into a quarantine first and are deleted only after a grace period. One production cache was carrying 1.9 GB of them. - Opt-in: separate a track's missing stems while it waits in the queue, so stem blends work without a bulk backfill first. - Sweep transitions no longer jump in level when they engage or mid-blend. On air - Listener requests find the track the listener named. "Disturbia by Rihanna" used to fail because Subsonic search needs every word to match, including "by". - The show changes at the station's own top of the hour, not the container's. If your station's time zone is a half hour off the host's (India or Nepal on a UTC host, for example), shows rolled 30 to 45 minutes late. - Feed skills can cap item age, and the DJ now sees each item's date, so old news no longer gets read out as current. - The DJ no longer reads stand-in words like "placeholder" on air. - Firecrawl joins DuckDuckGo, Tavily, Brave, SearXNG and Keenable as a web-search backend. Web player and security - With listener auth on, the browser's Basic-auth "Sign in" dialog no longer covers the web player. This needed changes to the bundled Caddy config, so if you run your own reverse proxy, check docs/reverse-proxy.md. - The player now backs off when a connection drops right after it starts, instead of reconnecting dozens of times a minute through a proxy that cuts it. The mobile app gets the same fix in its next store update. - The Navidrome password is only sent over HTTPS or to a local/private host. Release notes: github.com/perminder-klair/subwave/releases/tag/v… Repo: perminder-klair/subwave Docs and setup: getsubwave.com Happy to answer questions about setup or how any of this works.
model: WAI-illustrious-SDXL v17 (by WAI0731) LoRA: Smooth Detailer Booster v5 (by DigitalPastel) LoRA: 自作LoRA ControlNet: Union ProMax 2xLexicaRRDBNet by Philip Hofmann (Phhofm), licensed under CC BY 4.0 – github.com/Phhofm/models/%E2%80%A6 画像編集:GPT-image2.5
Mirrorが神アプリすぎて約31時間プレイしています皆さんもプレイしましょう JsonAsAsset/Mirror t.co