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
8/ Ghost Ledger (24 hours) An agent that checks whether "deleted" customer data is really gone, across 94 evidence files. Code: github.com/JannetEkka/DSProjects/tree/main/hackat…
Location: China (Asia/Shanghai, UTC+8) Remote: Yes (worldwide; async-friendly; can overlap EU mornings or US late evenings) Willing to relocate: No Technologies: Java, TypeScript, Node.js, Next.js/React, PostgreSQL, Stripe; full-stack product delivery; AI-assisted coding with ownership of architecture and acceptance. Shipped FanficWizard (fanficwizard.com): Stripe credits, SSR SEO fandom pages, free daily quota, generation + safety gates. Résumé/CV: yuzhe.dev · github.com/kevin8023 Email: zkit.kevin@gmail.com Senior full-stack / product engineer. 10+ years Java backends; now shipping AI-product features end to end. Open to remote contract (~$60/hr) or strong remote full-time. HN: kevin8023 · X: @kevin8023zhou
6/ Recourse (1 day) Receipts for welfare algorithms: a family sees exactly which record cut off their rations. Made Round 2. Code: JannetEkka/recourse Demo: jannetekka.github.io
感觉今年就有可能用上 1000万上下文的模型了 Prefrontal-AI/latent-sparse-attention
Rendering mermaid code blocks inside markdown files? I'm using markview to render my markdown files. Was wondering is there some way to render code blocks that contain mermaid diagrams?
2/ SMT Receipts (9 days) My trading bot's calls, sealed on Monad before the market moves and graded on signed prices. Losses stay on the record. Code: JannetEkka/monad-hack Demo: jannetekka.github.io
MLXのSwift向けライブラリに、gated-delta処理の学習を高速化する案が出ています! 作者はM2とQwen 3.5の組合せで、学習stepが約1.9〜2.3倍速くなったと報告しています。 まだ未採用で、推論自体の高速化ではありません。 出典元:mlx-swift-lm#740
Tesla's Roadster flipped off an upside-down ramp using cold-gas thrusters. I trained an AI to do it. 6-DOF physics in JAX, 1M sim steps/sec on a free Colab TPU. 5-car jump: hand-tuned controller 48% → learned policy 97% Vatsa10/thrustcar-6d t.co
Shameless plug: we built our own open source equivalent of auto-ontology a few months ago, that doesn't require any API key but your LLM one (or none if you use your coding agent subscription) GetCassis/ontology-skills
SwiftPMに、DebugとReleaseで依存先を切り替える提案が出ています! 開発時だけ使う機能と、配布時に必要な構成を分けやすくする内容です。 現在はSE-0560としてレビュー中で、承認・リリースはまだです。 出典元:github.com/swiftlang/swift-evolution/blob/main/pr…
1/ SMT World: Clock In (6 days) Call a coin once a day against my trading AI. Both calls go on Solana in one transaction and get graded 4 hours later. Code: JannetEkka/smt-solana-hack Demo: github.com/JannetEkka/smt-solana-hack/releases
@ryuhyun_dev Mac 쓰시면 omux도 비교해볼 만해요. 세션을 열 때 worktree를 알아서 만들고, Claude Code·Codex 세션을 프로젝트별 사이드바에서 작업 중 / 확인 필요 / 완료 상태로 보여줘요. 머지 후 정리도 해줌. onurozcan/omux
[Analysis] "LWTV" - a fake live-TV app that's an Android RAT built in China, stealing UPI/OTP from Indian users (full report + IOCs) A friend's father lost a large sum from his bank account. It started with an app that looked like a free live-TV/streaming app. I reverse-engineered it. It's not a TV app it's an Android RAT, and the trick is brutally simple: The phone shows a fake "system update" screen. Behind it, the malware runs your phone remotely. While the victim stares at a "Installing update… do not turn off" screen (or a fake fingerprint/face prompt), the attacker: - Replays the stolen PIN/swipe pattern to unlock the device - Opens the banking/UPI app and taps through it (full remote control) - Reads the SMS/OTP before the victim sees it - Transfers the money - all with the fake update screen hiding it The fake screen is a fullscreen system-level overlay it sits over everything, dims the display, and even hides itself from screenshots, so the victim only ever sees "updating." Loader / obfuscation - Tiny packed loader → the real 9.9 MB RAT is AES-GCM encrypted and runs in memory (never on disk) - Manifest padded to 55–56 MB; 999 declared permissions, only 17 real (982 fabricated) - Custom bytecode-VM key recovery Scope / second sample - Distributed from watchedlwfreelive(dot)com → AWS Lambda (Mumbai) → S3 (ap-south-1) - The download is a dropper: fake "Installing from Google Play" screen → installs the same RAT (com.yunyou.control.dev) Attribution - Chinese-speaking developers; operator UI in Simplified Chinese (branding 云游控制, "administrator" enrollment model) - Victim side is India (UPI apps, English-locale gating, Indian SIM handling, Mumbai AWS infra) Full technical writeup, IOCs, and remediation (samples are password-protected, password infected): jigarvarma2k20/LWTV-AndroidRAT-Analysis If you get an APK over WhatsApp/SMS asking you to enable Accessibility - that single permission is all it needs. If your screen shows a "system update" you didn't start, hard power-off. (Sharing for defenders/counter-fraud awareness. Samples in the repo are encrypted and for analysis only.)
@NFT_Chen It's in HyperQwen syv-ai/HyperQwen in 30 min
@elbeyoglu For geo-audit-skill, here's HOL Guard's command-extension guide for the registration I mentioned: github.com/hashgraph-online/hol-guard/blob/main/d…. It covers the source, behavior fixture, and handoff check.
New on GitHub: Lean statements for my paper What the Present Must Keep (v1.1, Nov 2). The repo now checks 84 theorems, and all 11 false controls are rejected. CI is green. The sign wall sits exactly on the self-adjoint line. neutrinos-leave-lean#2
RP-Voyager, my take on the awesome Voyager design from ZSA It is taking a bit longer, but I'm building my next keyboard, which is based on the 52-key Voyager, but uses RP2354A (RP2350A with built-in 2MB flash) on-board, and two encoders. The design is prepared to house KS-33 or Kailh Choc (v1 and v2) switches. I want to make the case from wood, and cut the plate out of brass. The design is mine, even though I got a lot of help from AI in electronic component selection, and calculating Ohm's law. College was long time ago, and I forget things. The case and plate are still prototypes, just like the first set of keycaps (that is a parallel project). Plans are available at julian7/rp-voyager. While I'm still a bit skeptical about my skills and how well anything functions what AI has added, but generally it does seem working. Please note, I'm not taking commissions. I even made the pinky promise to Mouser not to sell what I'm making, especially not to Iran.
💻 The pipeline source code is available at ad03-coder/xgenes.
I've added a Node.js quickstart and a Postman collection for anyone trying WatConnexio. List your device → send a message → check delivery status. Examples: abdulreal96/watconnexio-examples Docs: wat.tryconnexio.com Where does setup get confusing?
I built a free, open-source Clash of Clans upgrade tracker with home screen widgets, multiple accounts, and upgrade reminders Hey Clashers! I've been working on an Android app called Clash Ledger, a free and open-source upgrade tracker for Clash of Clans. I wanted something that would let me check my builders, research, and upgrade timers directly from my home screen without constantly opening the game. So I decided to build my own. What started as a simple upgrade widget has grown into a more complete tracker with multiple village support, customizable widgets, potions, helpers, and reminders. Here's what it can do: • Home screen widgets: Track active upgrades, builder availability, target levels, progress bars, and remaining times without opening Clash of Clans. • Compact widget: A smaller widget showing upgrade icons, circular progress rings, and countdowns. You can resize it to display more upgrades without scrolling. • Multiple accounts: Save and manage multiple villages, each with its own upgrade timers, potions, helpers, and reminders. You can even switch between villages directly from the widget. • Home Village and Builder Base: Track buildings, heroes, Laboratory research, pets, Star Laboratory research, and Goblin builder/researcher jobs separately. • Research availability: See exactly when your Laboratory or Star Laboratory will be free for the next upgrade. • Easy village imports: Use Clash of Clans' built-in Data Export feature to import your village progress. You can paste the JSON, open a saved file, or share it directly to Clash Ledger. • Potions and boosts: Track Builder Potions, Research Potions, Pet Potions, Builder Bite, Clock Tower boosts, and Study Soup, including their effects on upgrade timers. • Apprentice Builder and Lab Assistant: Track helper assignments and account for their contributions to upgrade completion times. Optional forecasts are available for future sessions. • Upgrade reminders: Get notifications or alarms when upgrades finish. You can customize sounds, vibration, and reminders for different categories. • Countdown customization: Choose between compact timers, friendly time descriptions, or countdowns with ticking seconds. • Manual timer controls: Add, edit, mark as completed, or remove upgrades whenever needed. • OLED theme: Choose between the original dark navy theme and a pure-black OLED theme. Both the app and widgets support it. • Clash artwork: Includes offline images for buildings, heroes, troops, pets, spells, traps, and Town Halls. • Completely offline: No account registration, ads, analytics, or internet permission. Your village data stays on your phone. The app supports Android 8.0 and above. Download the APK here (no PC required): github.com/chitti-a7r4/coc-tracker/releases/latest Just expand "Assets", download the APK, and install it. The project is also completely open source, so anyone interested can explore the code, report bugs, or contribute: chitti-a7r4/coc-tracker A few things worth mentioning: The app doesn't connect to your Supercell ID or automatically synchronize with the game. You import your village using the official in-game Data Export feature. Existing countdowns continue running, but starting new upgrades or changing something in-game requires another export or a manual update. Helper repeat sessions are optional forecasts, and Pet Potion tracking is currently available manually. I've personally been testing it with my TH16 village, but I'd love feedback from players at other Town Hall levels. I'd especially appreciate hearing whether the timers work correctly on your devices, if the widgets display properly on different Android launchers, and what features you think are missing. This is a personal project that I've made completely free and open source, and I'm continuing to improve it. If anyone wants to try it out, I'd really appreciate your thoughts and suggestions! Note: This is an unofficial fan project and isn't affiliated with or endorsed by Supercell
💻 The pipeline source code is available at ad03-coder/xgenes.
Evolving Agent Teams (EAT) に関するNeurIPS採択論文 arxiv.org EATフレームワークのソースコードリポジトリ caoshiyi/EAT
macosで動作させようと思い立ったところ、すでに素晴らしいEmulaterが存在しています Imgburnでcue+binで取り込み Apple arm64版の動作 音声(CD-DA)+音楽(FM音源)も動作確認 感謝です drhelius/Geartowns t.co
I already ran an experiment detecting which weights are responsible for giving biased responses in an LLM. Now I'm running a series of experiments (7 hours...) modifying weights at random, to show that the first experiment wasn't just a "coincidence" github.com/peremartra/fairness-pruning/tree/main
既存のH3 Motion ContextかMultiRefと組み合わせて使う追加ノード。 同一シーンの連続生成向けで、場面転換時は保護OFF推奨。完全静止シーンでは徐々に暗くなる問題も残る。 GitHub: roycho87/geiru_context_suite
@JuMOz33mnI6546 お金に余裕があったらこれ( kapibarasan000/CFRU-JP )とこれ( kapibarasan000/DPE-JP )をAIに投げて色々聞いてみてください ここにない機能もROM調べさせて新規で書き起こせますし、マップエディタも自分で作るのがいいと思いますね
We Compared 5 Scraping APIs for Live Data. Here’s the Result > This article was originally published on the Zenrows blog. We compared five web scraping APIs for real-time data, meaning the current page content returned at the moment your application asks for it. Three of them, Zenrows, Zyte, and ScraperAPI, ran through Zenrows' benchmark of 100 requests per target against four protected sites. Here's the result. Zenrows succeeded on 99.00% of requests at an average of 9.1 seconds, Zyte on 74.75% at 14.3 seconds, and ScraperAPI on 49.00% at 36.0 seconds. Bright Data and Oxylabs weren't benchmarked, so they're compared on how they handle bot detection, rendering, and pricing. You'll also get the best fit for each use case and two Python scripts for collecting fresh data on demand and in bulk. The scripts are on GitHub. The Short Version | API | Success rate | Approach | Output | Entry price | | --- | --- | --- | --- | --- | | Zenrows | 100% (AI agent benchmark), 99% (API benchmark) | Adaptive Stealth Mode | HTML, Markdown, JSON via extract=auto | $16/mo for 45,000 credits, success-only billing | | Bright Data | Not benchmarked | Managed browsers, 400M+ proxy network | JSON, NDJSON, CSV | $1.50 per 1,000 records | | Zyte | 74.75% | AI proxy selection and retries | JSON with AI extraction | $0.13 to $1.27 per 1,000 HTTP requests | | ScraperAPI | 49% | ML proxy and header selection | JSON or CSV via autoparse | $49/mo for 100,000 credits | | Oxylabs | Not benchmarked | ML proxy rotation, 175M+ residential IPs | HTML, Markdown, PNG, JSON | $49/mo | All benchmark figures come from Zenrows' own tests, so run your target sites through a free plan before you commit. How Success Was Measured A request counted as successful when it returned HTTP 200 and a valid title or meaningful data. The web scraping API benchmark sent 100 requests per target at 2 requests per second to Zim, Glassdoor, Idealista, and Indeed. | API | Success rate | Average response time | | --- | --- | --- | | Zenrows | 99.00% | 9.1 s | | Zyte | 74.75% | 14.3 s | | ScraperAPI | 49.00% | 36.0 s | A separate AI agent benchmark recorded 100% for Zenrows on DataDome, Cloudflare, and Akamai targets. Why Real-Time Scraping Fails Protected sites check IP reputation, browser identity, headers, and behavior. A request that fails those checks gets a block, a challenge page, or stale cached content. Managed APIs handle IP rotation, TLS and header alignment, sessions, and CAPTCHAs. Pages that load data with JavaScript also need a headless browser. Fetch One Page on Demand # pip install requests python-dotenv import html import os import re import requests from dotenv import load_dotenv load_dotenv() API_KEY = os.environ.get("ZENROWS_API_KEY") TARGET_URL = "https://www.amazon.com/dp/B0CHWRXH8B" params = { "url": TARGET_URL, "apikey": API_KEY, "mode": "auto", } response = requests.get( "https://api.zenrows.com/v1/", params=params, timeout=180, ) response.raise_for_status() title_match = re.search( r"<title[^>]*>(.*?)</title>", response.text, re.IGNORECASE | re.DOTALL, ) if not title_match: raise ValueError("The response does not contain a page title.") page_title = html.unescape(title_match.group(1)).strip() print(f"Status code: {response.status_code}") print(f"Page title: {page_title}") mode=auto starts with a lightweight request and adds Premium Proxies and JavaScript rendering only when the page needs them. The script confirms the right page came back by reading its title. Status code: 200 Page title: Amazon.com: Apple AirPods Pro (2nd Generation) Wireless Ear Buds with USB-C Charging, Up to 2X More Active Noise Cancelling Bluetooth Headphones, Transparency Mode, Adaptive, Personalized Spatial Audio, White : Electronics Credit costs scale with what the page needs. A basic request costs 1 credit, rendering costs 5, Premium Proxies cost 10, and both together cost 25. Collect Many Pages as One Batch Job # pip install requests python-dotenv import os import requests from dotenv import load_dotenv load_dotenv() api_key = os.getenv("ZENROWS_API_KEY") batch_url = "https://async.api.zenrows.com/v1/jobs" headers = { "X-API-Key": api_key, "Content-Type": "application/json", } payload = { "type": "regular", "status": "closed", "zenrows_params": { "mode": "auto", "extract": "auto", }, "tasks": [ {"url": "https://www.amazon.com/dp/B0CHWRXH8B"}, {"url": "https://www.amazon.com/dp/B09HM94VDS"}, ], } response = requests.post( batch_url, headers=headers, json=payload, timeout=30, ) response.raise_for_status() job = response.json() print(job["job_id"], job["latest_run"]["status"]) The script submits two product URLs as one Batch job with extract=auto, so each result comes back as structured JSON with pricing, availability, specifications, and reviews. 01M5ERCYJ7TSGP713TNMR1E8XY running Your job ID will differ. Batch manages the queue, retries, schedules, and webhook notifications while the pages process. How the Other APIs Work - Bright Data offers 100+ pre-built scrapers for sites such as Amazon, TikTok, LinkedIn, and Google Maps, plus 5,000 free records a month. It prices per record regardless of page complexity. - Zyte runs a managed browser with page actions and network capture, AI parsing for products, articles, and job postings, and up to 3,000 requests per minute on standard plans. Its trial gives $5 of credit for 30 days. - ScraperAPI needs render=true for JavaScript pages, and its documentation says CAPTCHAs embedded in forms need a third-party solver. Rendering costs 10 credits, rendering with premium proxies 25, and rendering with ultra-premium proxies 75. - Oxylabs provides preconfigured endpoints, geo_location targeting, the OxyCopilot AI parser, and browser instructions for clicks and form input. Its free plan covers 2,000 results, and 100,000 rendered results cost $135. Which API Fits Which Job | Use case | Best fit | Why | | --- | --- | --- | | Dynamic pricing | Zenrows | Protected pages and scheduled Batch jobs | | Financial data and news | Zyte | AI article extractor returns headlines, bodies, and dates as JSON | | AI training data | Zenrows | mode=auto across mixed sources, with Markdown or JSON | | Inventory monitoring | Zenrows | Batch with a proxy country per market | | SEO and SERP tracking | ScraperAPI | Google SERP endpoint with country and domain parameters | When Another Option Makes Sense - Pick Bright Data if you need direct control over proxy routing by ASN, carrier, or ZIP code. - Pick Zyte if you already run Scrapy spiders, though Zenrows also has a Scrapy integration. - Build your own stack with Requests and Beautiful Soup if your targets are static and you can maintain the infrastructure. !Decision tree for choosing a managed API or a self-hosted scraper Start Collecting Real-Time Data With Zenrows Fetch For protected, JavaScript-heavy targets, Zenrows led every benchmark here and bills only successful requests. Each alternative has a niche, from Bright Data's proxy control to ScraperAPI's SERP endpoint. What's Next - Sign up for Zenrows and test your own targets with 5,000 free credits a month, no card required. - Clone the companion repo and swap in your own URLs. - Read about building a self-hosted web scraper to see where an in-house stack stops working.
[iOS/Android] [Free] minimo (photo) : Compress Photos Privately >I made minimo (photo) after minimo (video): same idea, this time for photos. > >Select one photo or a batch, use a preset or adjust quality and dimensions, then compare the result before saving. Compression happens on your phone; photos are never uploaded. Originals stay unless you explicitly choose to replace them. > >Free for everyone iOS: apps.apple.com Android: play.google.com Source: minimo-pro/minimo_photo
@Lee_malach סבלתי מזה הרבה - היום נשתמש בזה YuvalSarel1/cones בניתי לעצמי ואז שיתפתי כקוד פתוח :)
How we track the stock trades of every U.S. politician (STOCK Act data, 2026) By Mees Wijnants, founder and CEO of Wolf of Washington Every member of the U.S. Congress has to report their stock trades. The data is public, but it is spread across thousands of PDFs on two different government websites. At Wolf of Washington we turn those filings into one clean, searchable list. This post explains how that works and what the data shows. The legal basis: the STOCK Act Since the STOCK Act of 2012, members of the House and Senate must report any stock trade above $1,000 within 45 days. In the House this report is called a Periodic Transaction Report (PTR). Senators file theirs in the Senate eFD system. The two official sources: - House: Clerk of the House, Financial Disclosure Reports - Senate: Senate Electronic Financial Disclosures The pipeline, step by step 1. Collect. We pick up new filings from both chambers as they appear. The House publishes a yearly index file with every document ID; each PTR links to its own PDF. 2. Read. Many PTRs are clean electronic PDFs. Some are scanned paper forms, which need extra care. For each line the useful fields are owner (self, spouse, joint, dependent child), asset, type (purchase, sale, exchange), transaction date, notification date and amount range. 3. Clean up. Asset names in filings are written in many ways. They need to be matched to the right company, and stocks need to be kept apart from options. 4. Verify. Every trade on a politician page links back to the original filing, so anyone can check it. 5. Review. Experienced traders on our team look at every new filing. Of the 16,781 congressional trades reported in the last 1.5 years, we shared 221 with members since March 2025. Less than 1.5% makes the cut. Our database now holds more than 102,000 trades from more than 350 members of Congress since 2012. What the data shows Most people assume Nancy Pelosi is the most active trader in Congress. By number of trades she is not. Among the politicians on our congress trading page, the most active in the last 12 months (as of 30 October 2026): | Politician | Trades, last 12 months | |---|---| | Ro Khanna | 3,676 | | Kevin Hern | 196 | | Markwayne Mullin | 81 | | Tom Kean Jr | 66 | | Cleo Fields | 61 | Pelosi stands out for size, not volume: large option positions in big tech, mostly made by her husband Paul Pelosi. She also has the highest estimated net worth of the politicians on our page, followed by Kevin Hern and Peter Meijer. Lessons for anyone building on this data - Amounts are ranges. A filing says "$1,000,001 to $5,000,000", never an exact number. Treat every dollar figure as an estimate. - Delays are real. Up to 45 days can pass between trade and report. The data tells you what happened, not what will happen. - Owner matters. "SP" means spouse. A large share of headline trades are not made by the politician personally. - Volume is not signal. Thousands of small managed account trades say less than one large, well timed position. Try it yourself If you want to start with one politician, I open sourced a small tool: Pelosi Trade Finder (MIT, DOI 10.5281/zenodo.23914626). It lists every official PTR of Nancy Pelosi, or any House member, with a direct link to the original PDF. For the full picture across 500+ politicians, see wolfofwashington.io. Not investment advice. --- About the author. Mees Wijnants is the founder and CEO of Wolf of Washington, which tracks the public stock trades of 500+ U.S. politicians for 5,000+ members. He studied Economics and Politics at Leiden University. More at meeswijnants.github.io.
rust_decimal vs bigdecimal: Money Types in Rust Decimal::from_str("100000000000.000000000000000001") returns Ok. The value inside is 100000000000.00000000000000000: rust_decimal dropped the last wei to fit its 96-bit mantissa and raised no error. Call Decimal::from_str_exact on the same string and you get Err(Underflow). The pages ranking for "rust_decimal vs bigdecimal" mostly stop at "fixed-size and fast versus arbitrary precision", which is true and not enough to choose with. So I built a scratch crate against rust_decimal 1.43.0 and bigdecimal 0.4.11 on Rust 1.98 and ran the cases payment code hits: token amounts, rounding, JSON, Postgres and overflow. Unless I say otherwise, every output below is pasted from that run. How Should You Represent Money in Rust? There are five realistic options, and one of them is wrong. | Type | Exact decimals? | Size | Heap? | Range | Use it for | |---|---|---|---|---|---| | f64 | No | 8 bytes | No | 15 to 17 significant digits | Nothing involving amounts | | i64 minor units | Yes | 8 bytes | No | ±9.22 × 10¹⁸ minor units | Fiat balances and postings | | i128 / u128 minor units | Yes | 16 bytes | No | up to 3.4 × 10³⁸ | Token balances, TigerBeetle-style ledgers | | rust_decimal::Decimal | Yes, to 28 digits | 16 bytes | No | ±79,228,162,514,264,337,593,543,950,335 | Rates, fees, tax, FX, API amounts | | bigdecimal::BigDecimal | Yes, unbounded | 40 bytes + digits | Yes | Memory | Boundaries where inputs can exceed 28 digits | f64 fails the first test anyone runs. Adding 0.1 ten times gives 0.9999999999999999, and 0.1 + 0.2 == 0.3 is false. Both decimal crates return true. Integer minor units are what Stripe and Adyen put on the wire, and what I used for the Postgres schema in the [TigerBeetle vs Postgres ledger guide](/news/2026-09-20-tigerbeetle-vs-postgres-payment-ledger-guide). An i64 holds 92,233,720,368,547,758.07 when the unit is pence. No fiat ledger gets close. The same i64 holds 9.223372036854775807 ETH when the unit is wei. That gap between fiat and 18-decimal tokens shapes most of what follows. rust_decimal vs bigdecimal vs fastnum in 2026: Which Crate? | | rust_decimal 1.43.0 | bigdecimal 0.4.11 | fastnum 0.7.5 | |---|---|---|---| | Representation | 96-bit integer, scale 0 to 28, sign bit | BigInt plus i64 scale | Fixed N-bit coefficient plus 64-bit control block | | Significant digits | 28 (29 in some cases) | Unbounded | 19 (D64), 38 (D128), 77 (D256), 154 (D512) | | Copy, no heap | Yes | No (Clone, heap digits) | Yes | | Default rounding | Half-even | Half-even for round, truncation for with_scale | Half-up | | NaN and Infinity | No | No | Yes | | serde default | String out; string or number in | String out; string or number in | String out; string only in | | Postgres support | sqlx, Diesel, tokio-postgres | sqlx, Diesel | sqlx, Diesel, tokio-postgres | | Total downloads (3 Nov 2026) | 169.1M | 139.5M | 10.6M | | Latest release | 2 Sep 2026 | 28 Sep 2026 | 11 Jun 2026, pre-1.0 | --- Read the full article on tomcn.uk → --- About the Author I'm Tom Wang, an AI Developer & Fintech Developer — building AI agents, crypto payment infrastructure, and cross-border payout systems with Rust, Go, and TypeScript. Based in London, UK. Currently open to new opportunities in fintech, crypto payments, and AI agent engineering. - Portfolio | LinkedIn | GitHub | [Email](mailto:hi@tomcn.uk)
Screenplay: beautiful screen recordings of any website or desktop app, scripted by your AI coding agent (TypeScript, MIT) Ask Claude Code, Codex or Cursor for a video of any site or desktop app. The agent writes a short JSON scenario, and Screenplay plays it with Playwright, films it and edits it: smoothed cursor, zooms that follow the action, click effects, captions, optional voice-over. No AI inside, no API key. Install with `npx agent-screenplay init`.
⚡ Can Web Audio API replace a guitar amp? Gryf features in-browser physical tube emulation, 50Hz hum filter, BBD analog stereo chorus and tape delay with zero latency. Plug your guitar directly into Chrome/Firefox: 92.118.206.90 GitHub: github.com/merx666...
WoW WoTLK New Friends Graphics Mod Tutorial Hey people, so let me present you a new graphics mod for WoTLK client(possibly Ascension too), which is open-source and has a ton of customizations I tried to keep it close to original, fantasy-like look, but adding something new, so now we got: Real wind simulation system that changes with time and strength dynamically and ties everything in this mod together; Realistic volumetric clouds with different presets, size, thickness, and more; New water with different wave sizes, speed and more per-zone; Deeper shadows, dynamic lights and more! You can see all of it and customizations in action in the video, I manually tweaked them per-zone, but you are free to change whatever you like! I don't really plan to update it, but I still have some ideas to improve it, so please drop all of your ideas here in the comments, but be aware that it's an old game so it has some real limits which cannot be easily bypassed Hope you enjoy! Github link is here: kasperfriend/friends-graphics
Claude's API Now Holds Your Agent's Conversation for 5 Minutes. Keep Your Own Copy - Book: System Design Pocket Guide: Interviews - Also by me: Thinking in Go (2-book series) — Complete Guide to Go Programming + Hexagonal Architecture in Go - My project: Hermes IDE | GitHub — an IDE for developers who ship with Claude Code and other AI coding tools - Me: xgabriel.com | GitHub --- Turn 200 of an agent loop on the Claude API used to look exactly like turn 1, only bigger. You uploaded the whole conversation again, and the API, in Anthropic's own words, "validates and tokenizes all of it again" (Claude docs). On November 2, Anthropic put message threads into public beta on the Messages API (release notes). You send the full conversation once. After that you send only the new messages plus the id of the previous response, and the server rebuilds the rest. The catch is on the same docs page. The thread is "best-effort", it expires 5 minutes after its last request, and Anthropic tells you to keep your own copy of every message. It's a cache sitting in front of your conversation, and your conversation still needs a home of its own. What shipped on November 2 The release notes for November 2 say long conversations and agent loops "can now send smaller requests and get a lower time to first token." You turn it on with the message-threads-2026-08-12 beta header and one new request field, thread (docs). Anthropic's developer account summed it up as: "The API caches your conversation on the server between turns" (@ClaudeDevs). The company's launch post says that on requests of 500K to 1M tokens, median time to first token drops by about 35%. That number is Anthropic's, it covers very long sessions only, and I haven't measured it. The same post says threads are already on by default for most Claude Code users. It works on the Claude API, Claude Platform on AWS, Claude Models on Google Cloud (Anthropic managed) and Microsoft Foundry. The docs say threads "are in beta on every model," with a supported list that runs from Claude Haiku 4.5 and Sonnet 4.5 up to Opus 5.5, Fable 5.1 and Mythos 5.1. !A flat illustration of two conveyor belts feeding a server: the left belt carries a tall, growing stack of paper pages, the right belt carries one single new page while the stack already rests on a shelf inside the server Without a thread, every turn re-sends the whole stack. With one, only the new page travels. What you send on each turn There are three kinds of request on a thread (docs). Create is your normal first request with "thread": {"type": "create"}. Continue sends only the new messages with "thread": {"type": "continue", "previous_message_id": "<id>"}. Replay is a fresh create with the full conversation, for when the API can't continue anymore. The SDKs ship a helper that does the bookkeeping. This is the Python shape from Anthropic's example, trimmed: import anthropic client = anthropic.Anthropic() # Creating the helper sends no request. thread = client.beta.messages.thread( model="claude-opus-5-5", max_tokens=1024, cache_control={"type": "ephemeral"}, system="You are a support agent. Keep replies short.", ) # Turn 1 creates the thread and sends everything. thread.send({"role": "user", "content": "I have an order question."}) # Turn 2 sends only the new message. reply = thread.send( {"role": "user", "content": "How long does shipping take?"} ) If you build the requests yourself, the field rules are strict: | Group | Fields | Rule | |---|---|---| | Create-only | system, tools | Sent on a continue request, "even as null", they return a 400 | | Fixed | model, tool_choice, thinking, top-level cache_control, beta headers and more | Must match the create request, or you get thread_fingerprint_mismatch | | Free | max_tokens, stop_sequences, stream, metadata | Can change every turn | Three more rules will bite a hand-rolled loop. The API doesn't check your new messages against the stored ones, so a message you send again "can appear twice in the conversation" (docs). Each response id can be continued once, and a thread is append-only, so editing or branching an earlier turn means a new create request. On a stream, the id arrives in message_start, but you continue only after message_stop. Same price, earlier first token The docs say it in one line: "Threads do not change pricing or rate limits." The launch post adds that "Claude still reads the full conversation on every turn, so token usage stays the same." What shrinks is the upload and the work before the model runs. Prompt caching stays your job. "A thread does not cache your prompt for you", so you still send a top-level cache_control or place breakpoints, and a thread request can carry at most 4 of them (docs). A fifth returns a 400 with thread_unsupported_request. If you've used OpenAI's Responses API, the idea is familiar. Its previous_response_id also chains turns without resending history, and OpenAI bills "all previous input tokens for responses in the chain" too (OpenAI docs). The difference is lifetime. The same OpenAI guide says response objects are kept "30 days by default". Anthropic's docs say a thread lives in memory, never on durable storage, and is deleted "no more than 1 hour after its last use". When the thread disappears The 5-minute window restarts with every response the API stores (docs). An agent that waits on a slow test suite, or on a human approving a tool call, can come back to a dead thread. When that happens, a continue request returns a 404 with thread_not_found, and the recovery section is blunt: "The response does not say why." The listed causes include expiry, a turn the API served but didn't store (such as a tool call cut off by max_tokens), a response written by a fallback model, a different API key or workspace, and a first image added to a conversation that had none. Here is the line I'd tape to the monitor: "No response, to a create or a continue request, says whether the API stored that turn" (docs). You learn it on the next request. So the design that works is the one the docs prescribe: keep the full conversation on your side, treat the thread as an optimization, and build the replay path on day one. !A flat illustration of a small server shelf holding a stack of chat cards next to an hourglass running low, while a sturdy filing cabinet beside it holds the complete, labelled copy of every card The server's copy runs on a timer. The copy in your own store is the one that survives. The SDK helper replays once on thread_not_found, thread_already_continued and thread_continue_in_flight, and starts a new thread after a refusal (docs). But it keeps the conversation in memory only "while the helper object exists." If your agent runs as a queue worker, a serverless function or anything that restarts, persist the messages yourself. The SDK's beta tool runner also uses a thread by default, which you can switch off when you create it. Who should wait Some setups can't use threads at all (docs): - Threads are not eligible for zero data retention or HIPAA, and orgs with HIPAA readiness or Inference hooks turned on are rejected. - Message Batches, token counting and compaction on demand don't work with thread. To compact, you write the summary yourself and start a new thread from it. - Context editing is out, except clear_thinking_20251015 with keep: "all". - There is no API to list, read or delete a thread. If your agent runs short sessions, the gain is small, because the cost of resending grows with conversation length. If your agent runs long sessions in one process, with steady turns, it's a beta worth trying behind a flag, with the unthreaded path kept as the fallback. The docs even give the helper an unsupported_request_behavior setting, continue_unthreaded, that drops to plain requests for conversations the API can't store (docs). Will you move your agent loop onto threads, or does a 5-minute server-side copy add more failure modes than it removes? Tell me in the comments. --- If this was useful I build Hermes IDE, so weigh this with that in mind: it runs Claude Code, Codex and other CLI agents side by side, each in its own terminal and worktree, source-available (BSL 1.1) on macOS, Windows and Linux (download · GitHub). A best-effort cache in front of a source of truth you own, with an expiry and a replay path, is one of the oldest trade-offs in system design, and threads are a fresh case of it. The System Design Pocket Guide: Interviews walks through 15 real designs where you make that same call about where state lives and what happens when the fast copy disappears. 
By land, not by people, #9 Mainland China, 2020 census. Excludes Hong Kong, Macau and Taiwan. Made with popgrid, my open source Python library: databites-tech/popgrid How I build these, step by step: reads.databites.tech Reply with your country. The most requested one goes next.
Windows and Mac (open source, MIT): Moy339339/SnipToss Chrome: chromewebstore.google.com I make SnipToss on my own, so feedback reaches me directly.
By land, not by people, #9 Mainland China, 2020 census. Excludes Hong Kong, Macau and Taiwan. Made with popgrid, my open source Python library: databites-tech/popgrid How I build these, step by step: reads.databites.tech Reply with your country. The most requested one goes next.
2. Ghost Editor Raw talking-head take in, finished reel out. 7 styles, face-safe captions, motion scenes. kurbaitaev/ghost-editor
Piwigo ⭐ 3.9k Piwigo is an open-source web application for developers and site owners to manage and publish photo collections online. 🔗 Piwigo/Piwigo #opensource t.co
WoW WoTLK New Friends Graphics Mod Tutorial Hey people, so let me present you a new graphics mod for WoTLK client(possibly Ascension too), which is open-source and has a ton of customizations I tried to keep it close to original, fantasy-like look, but adding something new, so now we got: Real wind simulation system that changes with time and strength dynamically and ties everything in this mod together; Realistic volumetric clouds with different presets, size, thickness, and more; New water with different wave sizes, speed and more per-zone; Deeper shadows, dynamic lights and more! You can see all of it and customizations in action in the video, I manually tweaked them per-zone, but you are free to change whatever you like! I don't really plan to update it, but I still have some ideas to improve it, so please drop all of your ideas here in the comments, but be aware that it's an old game so it has some real limits which cannot be easily bypassed Hope you enjoy! Github link is here: kasperfriend/friends-graphics
Rincoin Core v1.1.0-rc3: Third Release Candidate Rincoin Core v1.1.0-rc3 is published for testing. It supersedes rc2 and changes how a node handles transactions with the old version when the fork arrives. github.com/Rin-coin/rincoin/releases/tag/v1.1.0-r… Upgrade before block 840,000 v1.1.0 carries RIN3 transaction-version enforcement (RIP-0009), which activates at block 840,000. RIN3 is replay protection: from that height, an upgraded node requires ordinary transactions to carry the version marker `0x52494e33`, so an ordinary transaction built for a chain that did not upgrade is not valid on the upgraded one. A node on v1.0.6 or earlier does not enforce the rule and can end up on a different chain, so every node must run v1.1.0 before block 840,000. At the average block interval measured from 14 October to 2 November, about 65 seconds, block 840,000 falls around 30 November 2026; the date moves with the block rate, so go by the height, not the calendar. We aim to publish the final v1.1.0 by 15 November; it will be announced here. Test with rc3 now, and run the final release through the fork. If the final release comes too late for you to deploy before block 840,000, run the latest release candidate through the fork instead, which today is rc3: it enforces the rule at that height exactly as the final release will. Do not stay on v1.0.6 waiting for the final. Nodes on rc2 or rc1 enforce the rule as well but should move to rc3: rc2 keeps old-version transactions it accepted before the fork in its mempool after block 839,999 until a restart, and rc1's fundrawtransaction, walletcreatefundedpsbt, and send leave transactions at version 2. The consensus rules rc3 enforces are unchanged from rc1 and rc2 and are the ones the final release will enforce, and any further code change will be published as another candidate first. Emission does not change: the Customized Halving schedule that v1.0.6 already carries gives 6.25 RIN through block 839,999, 4.00 RIN from block 840,000, then 2, 1, and 0.6 RIN at the later phase boundaries. What changed since rc2 On rc2, a transaction with the old version that a node had accepted before the fork height stayed in its mempool after block 839,999 had connected: it could no longer be mined, could not be abandoned, and blocked its own re-creation until the node restarted. In rc3, when a node connects block 839,999, it removes every transaction in its mempool that lacks the RIN3 marker, other than MWEB-only ones, together with its descendants. The wallet treats the removal like a conflict: `-walletnotify` fires once per removed wallet transaction, its change is no longer trusted, and `abandontransaction`, `bumpfee` (for a transaction that signals BIP 125), and a re-creation from the same inputs work at once, without a restart. The clean-up runs each time that height is connected, including after a reorg. The change is the port of Rincoin-Sim pull request #7 and implements RIP-0009 section 7, "Mempool Clean-up at Activation". Consensus, mempool admission (`PreChecks()`), the block assembler, and P2P are unchanged, and nothing under `src/consensus/` changes. Upgrading from rc2 or rc1 needs no chain-data or wallet migration, and the project's seed nodes run rc3. What was verified - On regtest, three new functional tests cover the clean-up, including reorgs across the fork height and the MWEB-only exemption, and the rewritten rescue test follows a wallet across the fork in 12 subtests. All pass. - A two-node script that crosses the fork height passes all 19 of its checks against rc3. With the second node on the published rc2 binaries, and again with Rincoin-Sim v1.1.0.2, all 29 mixed-mode checks pass: the older node keeps the old-version transaction, and its relay of it is rejected without the older node being disconnected. Against rc2 alone, the script fails exactly the four clean-up checks that rc3 adds. - Removing 227,000 old-version transactions (285 MB) took 6.5 to 6.8 seconds on the machine measured, during which RPC calls that need the chain state or the mempool waited; about 20 MB took 0.16 seconds. - The Linux x86_64 build was reproduced byte for byte in two environments, WSL2 and a VirtualBox VM: the five binaries, the Linux tarball and the source tarball. - Both of the project's seed nodes were upgraded in place from rc2 with the signed Linux tarball; fifty-three and sixty-six minutes after their relaunches, neither had restarted, and both were at the same height with the same best block hash. - On mainnet, the Windows build caught up to the tip from the data directory rc2 had left and reported the same block hash at height 770,000 as the Linux nodes, and the Linux and Windows GUI wallets each received a transaction sent from the other. The ARM64 build was run under QEMU user-mode emulation on an x86_64 host. The Linux x86_64 build is the verified one. The Windows and ARM64 builds are cross-built and remain experimental; the ARM64 binaries have not been run on ARM64 hardware. Around block 840,000 - Once block 839,999 has connected, ordinary transactions must carry `nVersion = 0x52494e33`; coinbase, HogEx and MWEB-only transactions are exempt. The bundled wallet switches once the last block it has processed is 839,999. - At that block, almost every unconfirmed transaction leaves the mempool, including unconfirmed payments to receivers, because almost all of them carry version 2. Re-create anything that did not confirm, from the same inputs; the release page gives the steps. - Transactions built or signed outside the wallet need the version set before signing: in the unsigned hex, replace the leading `02000000` with `334e4952`. - Pre-signed and timelocked transactions with the old version cannot be mined from block 840,000 onward, however long before the fork they were signed. If you hold any, have their re-creation, with the same lock times and spending the same inputs, signed with `0x52494e33` while every signer is available; signing with that version before the fork is safe. - Around the fork, send only when `getblockchaininfo` reports `blocks` equal to `headers` on a node that has peers, and avoid sending or abandoning from the GUI for about a minute after block 839,999 connects. - If you upgrade a node from rc2 or earlier after block 839,999 has connected on it, read item 4 under "For node operators" on the release page first. - Pools: call `getblocktemplate` with `{"rules": ["mweb", "segwit"]}`. DNS seeder operators: whitelist the filter `x3000009`. Verify before you run anything Official Rincoin Core binaries are signed and published only through the Rin-coin organization on GitHub. The four distribution files are covered by one signed manifest. Fetch the signing key from keys.openpgp.org by its fingerprint, and check that the fingerprint `gpg` reports for it is `ED20 B635 4EE4 526D 01F8 3B53 8B6E 3BF4 5C71 4ECA`. The manifest is signed with the key's signing subkey, `0ED9 9C46 B219 2E37 5381 EF4A C5BE F8A9 FA06 C16F`, so that is the key `gpg --verify` names first; the primary fingerprint appears later in the same output. GitHub's own `Source code` archives are not covered by the manifest. The release page shows the commands. Rincoin was founded by 七夕凛 (ysmreg), who reviews the final release; this candidate was built, signed, and published by Aevust. Thanks also to the developers of Litecoin Core and Bitcoin Core, on whose work this tree is built. RIPs: rips.rincoin.org Testing reports on rc3: github.com/Rin-coin/rincoin/issues Steady progress.
I maintain Interceptor Gamepad, a C++17 SDK for remapping compatible physical controllers on Windows x64. MIT SDK; private driver, admin install, 1h/boot demo. Full pricing by agreement. TitanCSA/Interceptor-Gamepad-Controller #Windows #Cpp
puppetcat-fire/QuantumGo 玩家信息非对称的量子围棋。 【虚子】的概念,你可以主动创建两个互为实虚的棋子在棋盘上,他们一为真,一为假,而更好玩的一点是,除非假子参与提子,否则就只能以概率来计算它们。 #dsh #deepseek #ai游戏 t.co
CLI + Claude Code skill. Python, no dependencies, MIT. pipx install git+korbenmeteo/tidy-downloads - korbenmeteo/tidy-downloads - What's the oldest file in your Downloads?