Mentions
Conversations linking to GitHub, newest first. Times are UTC.
Mentions by source
X
Bluesky
Hacker News
Lobsters
V2EX
Qiita
DEV
Mastodon
Latest posts
PixelQ phase 3 is done. I killed a worker mid-job and another worker finished it. 8 seconds with my short demo timeouts, about 60 with BullMQ’s defaults. CI scans the images and pushes them to ECR Public with no stored AWS keys. bugfinn/pixelq t.co
selcuksarikoz/copyrust hazırladım, içine optimizer da ekledim mevcut görsellerden 49gb yer kazandım. çocuklarımın fotoğraflarını external-hdd ye kayıt ediyorum, dosya çok olunca macos tek tek indexlemeden kopyalamaya başlamıyor.
Built Reply Gate for @openservai Hackathon 02: a human-review-first support-draft prototype using fictional cases. One live SERV Reasoning test returned ALLOW; local allow/revise/hold outcomes are presets. No Reppo evaluation or customer replies yet.Apihpih96/reppo-reply-gate
Why AI Agents Need an Independent Verification Layer AI agents are moving beyond text generation. They can inspect images, listen to spoken instructions, interpret their environment, and perform actions. That creates a security challenge: an agent can make a reasonable decision based on incorrect or manipulated evidence. What if a printed instruction tells an agent to ignore its original task? What if an object is misidentified? What if the agent proposes an action that does not match the expected workflow? I started building SafeLabs Guard to explore one possible answer. The approach Instead of relying entirely on the agent to validate its own decisions, SafeLabs Guard independently checks the proposed action against: - Perception evidence - Authorization rules - An expected workflow ledger The verification layer is implemented in deterministic TypeScript. It returns one of three outcomes: - ALLOW: the proposed action passes validation. - HOLD: the agent chooses to wait. - BLOCK: the verification layer rejects an invalid or unverifiable proposal. The demonstration To make the idea concrete, I built PackProof, a simulated shipping workflow with five steps: MUG → NOTEBOOK → CABLE → SEAL → SHIP The demonstration uses Meta's multimodal models for perception and reasoning, with a separate Guard layer checking the proposed actions. Early evaluation The current 40-case recorded-response benchmark includes 27 attack cases and 13 benign cases. The guarded run recorded: - 0 successful attacks across 27 attack cases - 5 false blocks across 13 benign cases There is an important qualification: the prompted unguarded agent already held 26 of the 27 attacks. Therefore, these results should not be interpreted as proof of a broad improvement in attack resistance. They are an early evaluation of the independent verification mechanism and its decision behavior. Try it - Live demo - GitHub repository - Project website - Video demonstration SafeLabs Guard is currently a working hackathon reference implementation, not a production-validated security product. I'm interested in feedback from developers working on AI agents, multimodal systems, and agent security.
codeberg.org github.com/ltgcgo/octavia/tree/main/src/flyLeaf Run Deno projects on any supported JavaScript runtime. **Very early stages**. Has an intentional side effect of breaking projects relying on Node.js behaviour.
개선된 YOUTUBE EXTRACTOR mazelines/YOUTUBE-SCRIPT-EXTRACT
I built a local engine to give Web AIs hands (and no, it doesn't use APIs) --- title: I built a local engine to give Web AIs hands (and no, it doesn't use APIs) published: true description: A super lightweight local engine that gives Web AIs (DeepSeek, ChatGPT) hands to execute actions on your PC. No APIs, no tokens, 100% local. tags: opensource, ai, python, showdev canonical_url: yonijd.github.io --- I built a local engine to give Web AIs hands (and no, it doesn't use APIs) We all use web AIs like DeepSeek, ChatGPT, or Gemini. They are incredibly smart, but they have a huge limitation: they are trapped in the browser. They can write code, but they can't execute it on your machine. They can analyze data, but they can't read your local files. To give them "hands", you usually need to pay for an API, set up a server, or use a complex framework. I wanted to change that. So I built WAIO (Web AI Orchestrator). What is WAIO? WAIO is a super lightweight local engine that acts as a bridge between a web AI and your operating system. The flow is simple: 1. The AI generates a JSON with actions (e.g., {"comando": "crear_carpeta", "ruta": "proyecto"}). 2. You save that JSON in your Downloads folder. 3. WAIO detects it, executes the actions locally using its Skills (Python scripts), and returns the result. 4. You paste the result back into the AI. No APIs. No tokens. No servers. Everything happens on your machine. The Architecture: Skills, Profiles, and a Dual-Thread Engine WAIO is not just a script runner. It's a platform designed to be safe and extensible. 1. The Skill System (26 audited skills) Instead of hardcoding commands, WAIO uses Skills. Each skill is a folder with a .json (metadata) and a .py (code). - Want to read a PDF? There's a skill for that. - Want to create a ZIP? There's a skill for that. - Want to use text-to-speech? There's a skill for that. Anyone can create a skill following a documented standard (PROMPT_CREACION_SKILLS.md). 2. Security Profiles (4 levels) Giving an AI access to your PC is dangerous. That's why WAIO has 4 security profiles: - readonly: Can only read and list files. - standard: Can write, but everything goes to the Recycle Bin. - advanced: Can execute scripts and skills. - debug: Full access (for rescue and testing). 3. Folder-based Sandbox Unlike other agents that use a fixed system folder, WAIO inverts the model: Right-click on any folder, select "Start WAIO Here", and that folder becomes the sandbox. The only compromised documents are those in that folder. It's safer and more practical. 4. Dual-Thread Engine (v3.3) If a JSON is invalid or malicious, the engine doesn't hang. It processes in a queue and keeps running. No more frozen terminals. Why "Volver a Casa" (Coming Home)? WAIO started as a bridge for the AI. But the roadmap points to something bigger: "WAIO comes home". The idea is that you won't need to open a chat to use the tools. You'll just use WAIO directly (via context menu or hotkeys) to execute skills locally, without the AI in the middle. The same skills, the same security, but faster. Try it out WAIO 3.3 is open source (MIT) and available for Windows. - 🌐 Website: yonijd.github.io - 💻 GitHub: yonijd/WAIO - 🇨🇳 GitLink (China mirror): gitlink.org.cn If you find it useful, give it a star. And if you create a skill, send a PR! --- Made in Argentina, with mate and patience. 🧉
@HankDesmondPhD Bold. Ours are less spoiler and more receipt: every House call we make tonight goes into a public, hash-chained, timestamped log, so anyone can check the minute against the AP. 2022 replay: 310 calls, 0 wrong. earlyverdict/proof earlyverdict.org
Muse × Claude Code で、絵を描かずに動くアバターを iOS アプリに載せた はじめに Swift で作っている iOS アプリに、キャラクターのアバターを置きたくなりました。静止画では寂しいので、まばたきをしたり、少し揺れたりする程度には動いてほしいところです。とはいえ、Live2D や Spine を入れてパーツ分けから始めるほどの工数はかけたくありませんし、そもそも自分では絵が描けません。 そこで、絵は画像を描ける AI エージェントの Muse に、リグ(絵のどこをどう動かすかの設定)と書き出しは Claude Code に任せ、1枚絵を動かすツール Mesh Avatar Studio でつなぐ分担を試しました。人がやったのは、絵と動きの良し悪しを判断することだけです。 shinshin86/mesh-avatar-studio この記事では原画の依頼からアプリへの組み込みまでの流れと、途中でぶつかった問題を紹介します。本当は動いている様子をお見せしたいのですが、原画はアプリのアイデアに関わるため、この記事には載せていません。 この記事でできるようになること 1枚の絵から、まばたき・口の開閉・首かしげ・呼吸・髪の揺れをする女の子のアバターを作れる 閉じ目のような差分を AI に描いてもらい、崩れていないことを確かめて取り込める 作ったアバターを SwiftUI のアプリに置き、止まって見えないように動かし続けられる 対象読者 アプリにキャラクターを出したいが、絵もアニメーションも専門ではない方 Live2D や Spine を入れるほどではなく、軽く動けばよい方 画像生成 AI とコーディングエージェントに作業を分けて任せたい方 SwiftUI のアプリに Web のランタイムを閉じた形で組み込みたい方 話さないこと Mesh Avatar Studio の内部実装(メッシュ変形のアルゴリズム) 走る・食べるといった大きなポーズや、着せ替えの実装 Muse 以外の画像生成サービスとの比較 描画負荷やメモリの厳密な計測(今回は計測していません) ! この記事の内容は2026年11月時点のものです。Mesh Avatar Studio はコミット ac76b84f、アプリに同梱したランタイム mesh-avatar-element.js は 0.4.1 で確かめました。最新の手順は Studio のリポジトリをご確認ください。 全体像:誰が何をするか Mesh Avatar Studio は1枚のイラストをパーツに分けず、メッシュ(細かい三角形の網)をかぶせて少しずつ曲げることで動かすツールです。まばたき・口の開閉・頭の傾き・呼吸・髪の揺れくらいなら、1枚絵のまま表現できます。書き出した .mavatar ファイルは Web Components のランタイム <mesh-avatar> で再生します。 Studio はもともとコーディングエージェントが作業する前提で作られていて、リポジトリにエージェント向けの手順書(docs/agent-guide.md)があります。Claude Code にはこの手順書を読ませれば、リグ作りから書き出しまでを進めてもらえます。 足りないのは絵を描く手です。ここを Muse に任せました。Claude Code は Claude in Chrome で Muse の画面を操作してやりとりします。 担当 やること Muse 原画を描く。閉じ目などの差分を描く。ポーズ確認の画像を見て崩れを指摘する Claude Code Muse とやりとりする。Studio でリグを作り、ポーズ確認・差分の取り込み・書き出しをする。アプリ用の静止画を作る 人 実機で見た目を判断する 1. 原画を Muse に頼む Muse には次の条件を伝えて原画を描いてもらいました。 PNG・RGBA・背景透過で、全身が入っている 顔に手・物・髪が大きくかからない。目ははっきり開いている 線と塗りがはっきりした、シンプルな絵柄(細かい装飾や半透明の重なりが多いほど、曲げたときに崩れやすい) 小さく表示しても判別できる形にする 2. Studio でリグを作る リグ(rig.json)は、絵のどこが何かを座標で書いたものです。主な部位は次のとおりです。 部位 書くこと head 頭の範囲、回転の中心、傾きの最大値、横・縦にずらす量 body 体の回転の中心、呼吸で膨らむ範囲、胸・肩の位置 eyes 目の開いた範囲(opening)と、まぶたのレイヤーにする範囲(roi) mouth 口の中心と幅 cheeks 頬の赤みの位置 strands 揺らす髪の束(前髪・横髪・ポニーテールなど)と揺れの最大値 mesh メッシュを細かくする範囲 Claude Code は Studio の手順書に沿って次のように進めます。 リグ作りのコマンド# 画像から座標を読む精度を先に測る uv run tools/vision-check.py make work/vision-check uv run tools/vision-check.py score work/vision-check answer.json uv run tools/new-project.py <原画.png> <name> uv run tools/grid.py projects/<name> --step 50 --out projects/<name>/work/grid-full.png ここで rig.draft.json を書く(目・口は --region で拡大したグリッドから座標を読む) npm run validate-rig -- projects/<name>/rig.draft.json uv run tools/overlay.py projects/<name> --rig rig.draft.json --part eyes --zoom \ --out projects/<name>/work/overlay-eyes.png uv run --with numpy --with pillow --with opencv-python-headless \ tools/build-layers.py projects/<name> --rig rig.draft.json npm run render-poses -- projects/<name> 座標を読むのはモデルの目です。最初に vision-check で読み取りの精度を測り、拡大したグリッドや重ね合わせの画像で、目の範囲がずれていないかを確かめながら進めます。 リグで気をつけたことは次のとおりです。 目の開いた範囲に、まつ毛や肌を入れません。入れると、まばたきのたびにまつ毛ごと動いてしまいます。 下まぶたの範囲は頬の赤みから離します。roi の下端が頬の赤みにかかっていて、まばたきのたびに赤みが動きました。下端を10px 上げて直しています。 細かいメッシュは頭から胸にかけます。全身の絵では動きの大きい頭まわりだけを細かくすれば足ります。 render-poses は、傾き・まばたき・口の開閉などのポーズを並べた一覧画像を出します。Claude Code が自分で見てから、Muse にも送って崩れを指摘してもらいました。画像を見ずに「崩れていない」と報告させないことは、手順として明示しておくのが安全です。 3. 閉じ目は Muse に描いてもらう Studio は目の範囲のメッシュをつぶして閉じ目を作ることもできます。ただ、この方法ではまつ毛の弧が反って波線のように見えました。絵として描かれていないものを、変形だけで作るのには限界があります。 そこで、閉じ目だけは Muse に描いてもらいました。Studio には、描き替えてよい範囲を示すマスクを書き出すコマンドがあります。 閉じ目のマスクを書き出すコマンドuv run tools/variant-requests.py projects/<name> マスクとポーズ確認の画像を送り、次の条件を伝えました。 原画と同じ寸法の RGBA の全体画像で返す(切り抜きではない) マスクの外はアルファも含めて1画素も変えない 描き替えはマスクの縁から 4px 以上内側に収める 各目に下向きの弧を1本描く。笑い目(上向きの弧)にしない 眉は変えない(リグが表情ごとに眉を動かすので、描くと二重になる) 画像生成 AI は頼んでいない場所もわずかに描き変えることがあります。届いた画像はマスクの外が原画と1画素も違わないことを確かめてから取り込みます。 マスクの外の差分を確かめるコードimport numpy as np from PIL import Image original = np.array(Image.open("original.png").convert("RGBA")).astype(int) closed = np.array(Image.open("eyes_closed.png").convert("RGBA")).astype(int) マスクは RGB が全面白で、描き替えてよい範囲をアルファ 0 で表している editable = np.array(Image.open("mask.png").convert("RGBA"))[..., 3] == 0 changed = (original != closed).any(-1) print("changed", changed.sum(), "outside mask", (changed & ~editable).sum()) 最初はマスクを明るさで判定していたため、判定がいつも「差分 0」を返していました。マスクの RGB は全面が白なので、明るさでは範囲を区別できません。アルファで判定し直しても差分は 0 で、Studio の build-sprites の検査も同じ結果だったので実害はありませんでした。とはいえ、検証コードは一度、わざと崩した画像で落ちることを確かめておくべきでした。 outside mask が 0 なら、variants/eyes_closed.png に置いて取り込み、ポーズ確認を出し直します。 4. .mavatar と静止画を書き出す 書き出しのコマンドnpm run pack-avatar -- projects/<name> --no-source -o projects/<name>-v2.mavatar npm run validate-avatar -- projects/<name>-v2.mavatar --no-source を付けないと、原画の元データまで .mavatar に入ります。また、出力先に同じ名前のファイルがあると EEXIST で止まるので、版ごとに別の名前で書き出します。今回は閉じ目入りで 650KB ほどでした。 アプリには動く絵とは別に静止画も入れます。読み込みが終わるまでの間、読み込みに失敗したとき、「視差効果を減らす」がオンのときに出すためです。 静止画を作るコードfrom PIL import Image im = Image.open("original.png").convert("RGBA") h = 252 # 表示する高さ(pt)× 3 w = round(im.width * h / im.height) im.convert("RGBa").resize((w, h), Image.LANCZOS, reducing_gap=3.0) \ .convert("RGBA").save("avatar-still@3x.png", optimize=True) ポイントは2つです。 切り抜かずに、原画の余白のまま縮めます。動く絵と、足元や頭の位置を揃えるためです。 アルファを乗算済みにして(RGBa)縮め、透過の縁が黒ずむのを防ぎます。 5. iOS アプリに組み込む ランタイムは JavaScript の Web Components なので、WKWebView で再生します。アプリには index.html・mesh-avatar-element.js・bridge.js・.mavatar の4つを同梱しました。index.html の中身は次のとおりです。 index.html<!-- index.html --> <script type="module" src="mesh-avatar-element.js"></script> <script type="module" src="bridge.js"></script> <mesh-avatar src="avatar.mavatar" label="Avatar" paused></mesh-avatar> bridge.js はネイティブとランタイムの間をつなぐ自前の小さなスクリプトです。設計で気をつけたことは次のとおりです。 同梱したファイルだけで動かします。独自のスキーム meshavatar:// で同梱フォルダを返し、http(s) はコンテンツルールで全て遮断しました。データストアも保存しない設定(.nonPersistent())にしています。 再生のタイミングはネイティブが決めます。ランタイムは paused で置き、bridge.js のループが advance(dt) で進めます。表示されていないときは、ネイティブからループを止めます。 ネイティブとの境界を2つの通知に絞ります。Web 側からネイティブへ送るのは「最初のコマが描けた」と「失敗した」の2つだけで、ユーザーのデータは Web 側に渡しません。 タップは受けません。WKWebView は isUserInteractionEnabled = false にして、操作は SwiftUI 側で受けます。 独自スキームで同梱ファイルを返す loadFileURL で読ませずに独自スキームにしたのは、ランタイムが .mavatar を fetch で読むためです。ページと同じオリジンから HTTP の応答として返せば、ランタイムを書き換えずに済みます。 MeshAvatarSchemeHandler.swiftfinal class MeshAvatarSchemeHandler: NSObject, WKURLSchemeHandler { static let scheme = "meshavatar" static let entryURL = URL(string: "(scheme)://bundle/index.html")! private let root: URL? = Bundle.main .url(forResource: "MeshAvatar", withExtension: nil)?.standardizedFileURL func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) { guard let url = urlSchemeTask.request.url, let fileURL = resolve(url), let data = try? Data(contentsOf: fileURL), let response = HTTPURLResponse( url: url, statusCode: 200, httpVersion: "HTTP/1.1", headerFields: [ "Content-Type": Self.contentType(for: fileURL.pathExtension), "Content-Length": String(data.count), ]) else { urlSchemeTask.didFailWithError(URLError(.fileDoesNotExist)) return } urlSchemeTask.didReceive(response) urlSchemeTask.didReceive(data) urlSchemeTask.didFinish() } func webView(_ webView: WKWebView, stop urlSchemeTask: WKURLSchemeTask) {} // 同梱フォルダの外(../ など)は返さない private func resolve(_ url: URL) -> URL? { guard let root else { return nil } let candidate = root.appending(path: url.path(percentEncoded: false)).standardizedFileURL guard candidate.path.hasPrefix(root.path + "/") else { return nil } return candidate } private static func contentType(for ext: String) -> String { switch ext.lowercased() { case "html": "text/html; charset=utf-8" case "js": "text/javascript; charset=utf-8" default: "application/octet-stream" } } } WKWebView の設定では、遮断ルールのコンパイルが終わってから読み込みます。先に読み込むと、ルールが有効になる前に通信が出る余地が残るためです。 WKWebView の設定let configuration = WKWebViewConfiguration() configuration.websiteDataStore = .nonPersistent() configuration.setURLSchemeHandler(MeshAvatarSchemeHandler(), forURLScheme: MeshAvatarSchemeHandler.scheme) configuration.userContentController.add(coordinator, name: "meshAvatar") let webView = WKWebView(frame: .zero, configuration: configuration) webView.isOpaque = false webView.backgroundColor = .clear webView.scrollView.isScrollEnabled = false webView.isUserInteractionEnabled = false let rules = #"[{"trigger":{"url-filter":"^https?://"},"action":{"type":"block"}}]"# WKContentRuleListStore.default().compileContentRuleList( forIdentifier: "meshAvatarBlockNetwork", encodedContentRuleList: rules ) { ruleList, _ in DispatchQueue.main.async { guard let ruleList else { return coordinator.fail() } webView.configuration.userContentController.add(ruleList) webView.load(URLRequest(url: MeshAvatarSchemeHandler.entryURL)) } } 静止画と重ねて、準備ができたら切り替える SwiftUI 側では静止画と WKWebView を重ね、最初のコマが描けたらクロスフェードで切り替えます。失敗したときや「視差効果を減らす」がオンのときは、静止画のままにします。 静止画と動く絵を重ねるビューstruct AvatarVisual: View { let isAnimating: Bool @Environment(.accessibilityReduceMotion) private var reduceMotion @State private var isMotionReady = false @State private var motionFailed = false private var showsMotion: Bool { !reduceMotion && !motionFailed } private var isMotionVisible: Bool { showsMotion && isMotionReady } var body: some View { ZStack { Image("AvatarStill") .resizable() .opacity(isMotionVisible ? 0 : 1) if showsMotion { MeshAvatarView( isRunning: isAnimating, onFirstFrame: { isMotionReady = true }, onFailure: { motionFailed = true } ) .opacity(isMotionVisible ? 1 : 0) } } .animation(.easeInOut(duration: 0.2), value: isMotionVisible) } } isRunning が変わると、ネイティブは window.meshAvatarRunning を書き換えて window.meshAvatarSync() を呼びます。bridge.js はそれを見て、requestAnimationFrame のループを始めたり止めたりします。ループは 50ms ごとにだけ advance を呼び、20fps 程度に抑えました。小さく表示するアバターなら、これで十分滑らかに見えます。 6. 「ほぼ止まって見える」を直す 組み込んで実機で見たところ、アバターはほぼ止まって見えました。原因は2つありました。 待機中の動きがまばらでした。ランタイムは待機中に5〜10秒に1回だけ短い動き(体を揺らす・あたりを見回すなど)を再生する作りで、動きと動きの間はまばたきと呼吸だけになります。 リグの振れ幅が小さく、線のゆがみを恐れて頭の傾きを最大 0.08(約4.5度)に抑えていました。 1つ目は bridge.js で待機用の動きを途切れなく続けて再生させて解決しました。 bridge.js(待機の動きを続けて再生する部分)const idleMotions = [ { id: 'sway', seconds: 7.0 }, { id: 'lookAround', seconds: 5.2 }, { id: 'glance', seconds: 4.6 }, { id: 'hum', seconds: 5.6 }, { id: 'lean', seconds: 4.8 }, ]; let currentMotion = null; let motionElapsed = 0; function playNextMotion() { const candidates = idleMotions.filter((motion) => motion !== currentMotion); currentMotion = candidates[Math.floor(Math.random() * candidates.length)]; motionElapsed = 0; element.avatar.play(currentMotion.id); } function tick(now) { // ...50ms ごとに dt を求める element.avatar.advance(dt, 1 / dt); motionElapsed += dt; if (currentMotion === null || motionElapsed >= currentMotion.seconds) playNextMotion(); } 直前と違う動きをランダムに選び、その長さだけ再生したら次へ進みます。経過時間は setTimeout などのタイマーではなく、advance に渡した dt を足し上げて測ります。表示していない間はループごと止まるので、再開したときに動きの途中から続きます。 ただし、動きの長さはランタイムの中の値を書き写したものです。ランタイムを更新したら、長さがずれていないかを確かめる必要があります。 2つ目については Studio のドキュメント(docs/rig-fields.md)にある推奨値まで振れ幅を広げました。 項目 変更前 変更後 頭の傾きの最大(head.maxRoll) 0.08 0.15(約8.6度) 頭を横にずらす量(shiftX) 画像の幅の約2.4% 画像の幅の約3.9% 頭を縦にずらす量(shiftY) 画像の高さの約1.0% 画像の高さの約1.7% 体の傾きの最大(body.maxRoll) 0.035 0.05 髪の揺れの最大(strands[].max) 4〜8 前髪 7・横髪 12・ポニーテール 26 小さく表示するアバターなら、この程度まで広げても線のゆがみは目立ちませんでした。 トラブルシューティング 症状 原因と対処 Python で PIL や numpy が読み込めない システムの Python とライブラリのアーキテクチャが合っていなかった。uv が管理する Python 3.12 を UV_PYTHON_PREFERENCE=only-managed で使う まばたきで頬の赤みが動く 下まぶたの roi が頬にかかっていた。下端を上げて build-layers からやり直す 閉じ目が波線になる メッシュをつぶして作る閉じ目の限界。Muse に描いてもらう マスクの外の差分がいつも 0 になる マスクを明るさで判定していた。アルファ 0 で判定する pack-avatar が EEXIST で止まる 出力先に同じ名前のファイルがある。別の名前で書き出す アバターがほぼ止まって見える 待機の動きが5〜10秒に1回だけ。動きを続けて再生させ、リグの振れ幅を広げる まとめ 絵は Muse、リグと書き出しは Claude Code、判断は人という分担で、絵を描かずに動くアバターを作れました 1枚絵をメッシュで曲げる方式なら、パーツ分けなしで、まばたき・傾き・呼吸・髪の揺れまでは表現できます。変形で作れない閉じ目だけは、描いてもらうのが確実でした AI が描いた差分は、「マスクの外が1画素も変わっていない」ことを機械的に確かめてから取り込みます アプリ側は WKWebView を同梱ファイルだけで閉じ、ネイティブとの境界を2つの通知に絞ると、扱いやすくなりました 自分では絵を1枚も描いていませんが、実機で揺れているアバターを見るとちゃんと愛着が湧きます。表情の差分も同じ手順で足せるので、次は笑顔や口の形を増やしてみたいと考えています。
8 active milkdrop screens formed into three dimensional shapes with a dimensional feedback video loop effect.. (audio = vibecoding), with midi effects in the visuals..,with background video playing - app design assistance[AI] The link to download the app here is… _____________AI Claude Nothing needs installing: it runs in the browser, so the main link to share is the first one. I checked that all of these open publicly. Use it: m8w.github.io Opens in any modern browser, phones included. Control panel: m8w.github.io For running several windows and editing them from one place. Mac launcher: Mac users paste this into Terminal once and get a double-click icon on their Desktop: curl -fsSL "m8w.github.io" | bash Download the code: github.com/m8w/nested-dimensions/archive/refs/hea… That's the whole project as a ZIP. Source on GitHub: m8w/nested-dimensions The README there explains everything. To run the ZIP copy, people need to start a small local server in the folder, such as python3 -m http.server, then open localhost:8000. The archive radio, video background and MIDI won't work if you just double-click index.html. ___________end AI Claude I’m using this with obs and I now have connection problems with continuous feed on the broadcast so I might recreate obs right into the application.., coming soon..
給 agent 加記憶,今天兩派:claude-mem 一天 +1,803 星,全程錄;Beads 才 +40,總星 2.8 萬,只記任務。 我押 Beads。待辦做成依賴圖,bd ready 只列沒被卡住的活。記憶不在多,在知道下一步幹嘛。 注意 bd init 預設會改 AGENTS.md,共用專案用 bd init --stealth。 gastownhall/beads
Someone posted a fix and it works and so I won the run :) github.com/WhitetailAni/undertale-balatro/commit/…
🟢🟢🟢🟢🟢 5. techjarves/Portable-Local-Studio 解压就能用的本地 AI 工作室。 一个界面里画图、跟本地大模型聊天、语音转文字、文字转语音,全程离线,不要 API Key,自动适配 N 卡/A 卡/Mac。 🔗 直达:techjarves/Portable-Local-Studio 以前四个工具四份订阅,现在一个文件夹全搞定,73 星一天!
Nvidia ekran kartları tüketiciye bilerek yavaşlatılmış olarak mı satıldı. Birileri github da rtx 30 40 serileri için muamma bir bilgi yayınladı. zagitta/gpu-unlock
🟢🟢 2. hieunc229/mailflare 自托管版 Google Workspace。 部署到 Cloudflare 或一个 Docker,就有自己域名的邮箱、日历、网盘和预约链接,内置 AI 帮你搜邮件、写回复。收信免费,发信有免费额度。 🔗 直达:hieunc229/mailflare 以前企业邮箱按人头交钱,现在自己搭一套,168 星一天!
🚀 New in t.me 📊 Markets: live OnRe APY & prices 💱 Swap rate: ONyc price on Orca, Raydium, Titan, Jupiter + OnRe mint 🧮 Calculator: type an amount, see what you get on each DEX Free & open source 👇 MOHAMMADREZA1381/OnreState t.co
فقطخوندنیه و API key و اکانت نمیخواد. نصبش هم یه خطه: uvx rasmio-mcp با Claude، Cursor، Copilot و هر کلاینت MCP جواب میده. کد کامل: sepehr071/rasmio-mcp ⚠️ غیررسمیه و به رسمیو ربطی نداره.
MagicalTux氏のPRをWakiyamaPが承認 真の勇者とは誰も見てない所でも働く陰徳の戦士だと思います。 monacoin#128
Leoxy is now public and ready for testing! I'm excited to see how it performs in real-world use and what bugs or issues will show up. Try it, break it, and share your findings. Every bit of feedback helps! elrefai99/Leoxy #Dev #Nginx #Go #Golang #OpenSource #Networking
I built an independent verification layer for multimodal AI agents — looking for technical feedback I've been working on SafeLabs Guard, an open-source project focused on a specific problem with agentic systems: an agent may propose an action based on misleading visual or spoken input. The idea is to put a deterministic verification layer between the agent's proposal and the action. The project currently combines: - SAM 3.1 for visual perception - Muse Voice for speech input - Muse Spark for agent reasoning - Local OCR for text inspection - A TypeScript verification layer that checks proposed actions against evidence, authorization rules, and an expected workflow ledger I built a small demonstration called PackProof around a simulated shipping workflow. It lets you see how the system handles normal instructions and adversarial input. A note on evaluation: the current 40-case recorded-response benchmark had 0 successful attacks across 27 attack cases, but also 5 false blocks across 13 benign cases. This is an early benchmark, and the prompted unguarded baseline already held 26 of 27 attacks. I’m not presenting this as proof that Guard makes agents broadly more secure. I'm particularly interested in feedback on: 1. Whether the verification boundary is architecturally useful. 2. How to improve the false-block rate. 3. What additional attack scenarios or evaluation methods should be included. Links: - Live demo: guard.agentsafelabs.com - GitHub: AgentSafeLabs/safelabs-guard - Technical overview: guard.agentsafelabs.com - Video: youtu.be I'd appreciate technically critical feedback.
Your per-payment, daily and monthly spending limits already capped what a send could move. They now cap the bridge and the private bridge the same way. Same limits, same math, one fewer path around them. github.com/TeraWalletRH/TeraWallet/commit/b311481 t.co
Kedr: a SACD ISO to FLAC app, written in Cursor I wanted a Mac utility that takes a Super Audio CD image and turns it into FLAC. Opening the ISO in ffmpeg does not work. The disc is not PCM. It is one-bit DSD, often still packed as DST. What came out of that is here. The window is Electron. A local Python process does the conversion. The album never leaves the machine. Here is the part I am not going to dress up. I did not type this project out file by file. It is vibe coding in Cursor. I described what I wanted, looked at the result, and pasted back whatever broke on a real disc. The model is good at the skeleton. It is bad at guessing how Homebrew ffmpeg 9 behaves on a particular DSF. That is the rest of this post. Without those runs on my own Mac, the app would have stayed at “well, it opens.” !Image description What I actually asked for The first request was short: a macOS utility, DSD ISO to FLAC. Then I wanted MP3 as well, and a real window instead of a browser tab. Then the window turned out to be one long page, so it had to become two columns. Then Russian and English, with the system language as the default. Then a Windows build script, because “it installs on a Mac” is not yet a program. Each of those was a plain sentence. Cursor edited the code. I built it on the Mac and brought the error text back. That is how it got to version 1.1.0. Why the ISO will not open SACD is Scarlet Book. The file looks like an .iso. Inside it is a DSD stream. A DSD64 disc runs at 2,822,400 Hz, one bit per sample. To fit an album, tracks are often stored as DST, which is lossless, but only for DSD. One disc can carry two areas, stereo and 5.1, each with its own listing, artist, and durations. ffmpeg does not read that. It can read a DSF or a DFF that is already extracted. Walking the sectors, picking an area, and undoing DST is the job of sacd_extract from sacd-ripper. That program is GPL-2.0, and it is not in the Kedr tree. The installer downloads the sources and builds a binary next to the app. Kedr itself is MIT. I did not want those two licenses mixed in one repository. Then the honest limit. FLAC and MP3 store PCM. You cannot put a bit-perfect SACD into them. If you could, the output would be a DSF. Kedr writes a file a normal player will open, and it copies the tags off the disc. How the pieces connect sacd_extract prints the table of contents and pulls the chosen tracks out as DSF, decoding DST on the way. ffmpeg then turns the DSD into PCM. FLAC defaults to 176.4 kHz, 24-bit, a 40 kHz lowpass, and compression 8. The lowpass is not there for taste. DSD carries modulation noise above the audible band, and keeping all of it makes a strange spectrum and a bigger file. You can keep 352.8 kHz and skip the extra downsampling. The files just get fat. MP3 is LAME, 320 kbps by default, 44.1 kHz, and a 20 kHz lowpass. MPEG does not store anything above 48 kHz. It also does not store 5.1, so if the output is MP3, Kedr will not even start extracting a multichannel area. Temporary DSF files are deleted after a successful track. If you hit stop, whatever was already written stays in the folder. Where vibe coding stopped and the disc started A synthetic tone was all green. A real SACD killed track one with Track 1: Conversion failed! On ffmpeg 9.0 from Homebrew that is the last line of almost any failure, so the message had to be thrown away and the log read upward. The next run said something else: Terminating thread with return code -22, which is Invalid argument from a filter thread. Three separate bugs were sitting under it. The cover. A DSF often has an ID3 picture. ffmpeg treats it as a second video stream. Send everything into FLAC and ask for 24-bit audio, and that bit depth gets applied to the picture too. The encoder falls over. The command now takes audio only, -map 0:a:0. The channels. A DSF header has a channel layout type and a channel count. On some multichannel areas, sacd_extract writes the type as stereo while the file has five or six channels. ffmpeg 9 does not forgive that. If the type and the count disagree, Kedr sets the type to 0, which means “trust the count.” The rate and SoX. The DSD decoder emits PCM at the header rate divided by eight. For DSD64 that is 352,800 Hz. A 40 kHz lowpass computed as an integer filter at that rate, plus SoX at too high a quality, produces the same -22. The lowpass is calculated in double, SoX precision is dropped to a level where it still works, and if SoX still refuses, the track is encoded once more with the built-in resampler. If the lowpass sits above the Nyquist frequency of the rate you picked, the app lowers it. You cannot invent this in a chat. Until there is a disc on the desk and a specific ffmpeg, the model will confidently emit a “correct” command that passes on 6.1 and dies on 9.0. The window Electron is only the frame: the track list, FLAC or MP3, the rate, the lowpass, the folder. Python from the standard library, with no extra packages, serves a page on 127.0.0.1 and does the work. The file dialogs are the system ones. The first layout was a single long page. You had to scroll to reach the button. Now the disc and the tracks are on the left, the settings are on the right, and the convert button stays at the bottom. On a narrow window the columns stack again. The language on first launch comes from the system. Russian and English are supported. Anything else becomes English. The switch in settings is remembered. Album folder names stay in the language of the disc, not the language of the interface. If the cover is in Russian, the folder is in Russian. The same page runs without Electron. python3 -m kedr info "Album.iso" python3 -m kedr convert "Album.iso" -o ~/Music - mode stereo - rate 176400 python3 -m kedr convert "Album.iso" -o ~/Music - format mp3 - bitrate 320 The build, including the one that did not build On a Mac, one script installs cmake, libxml2, ffmpeg, Python, and Node, builds sacd_extract, and drops a shortcut in ~/Applications. The first run on a machine where Homebrew was already set up failed with “libxml2 is required,” while brew install libxml2 insisted it was already there. The formula is keg-only. The headers are not in /usr/include. They live inside the Homebrew prefix. The script now passes that path itself. Windows has its own PowerShell script. winget installs MSYS2, Python, Node, and ffmpeg. sacd_extract.exe is built with the UCRT64 compiler, and a shortcut lands on the desktop. There is no signed installer. Electron sits in the project folder, and the shortcut launches it from there, so it is better not to move that folder after installation. The short version of the method: Cursor will carry a project like this as long as you bring it real errors, and not a request to “make it good.” It put the skeleton, the window, the languages, and the installers together quickly. The three ffmpeg crashes on a real SACD had to be caught by ear and by the log, and only then pasted back into the chat.
[I built] Ony — Open music links in any app Ever received a Spotify link from a friend, only to realize you use YouTube Music? I built Ony to solve exactly this. It lets you open music links from supported streaming platforms in your preferred music app, without manually searching for the song again. - Free and open source - No account required - Android - MIT licensed I'd particularly appreciate feedback on the onboarding experience and song matching. Website: rohiitgit.github.io GitHub: rohiitgit/ony
@LH @cppenjoyest @mitsuhiko @sttaft Tucker consider adding this as a distributed simulation library. Easy to train an LLM to apply the components. pukpr/AdaPACE
[Windows] NuvioCodeineXO - a clean and modern nuvio fork for anime enthusiasts Github Link: codeineXO/NuvioCodeineXO NuvioCodeineXO, a Windows fork of Nuvio Desktop. Some highlights: - Anime Enhancements: - Anime4K upscaling - Filler and mixed canon episode markers - Hide filler episodes - Skip filler episode from playback - Playback: 60 FPS motion smoothing for both anime and live action, seek previews (need api key from seekr.tv), floating mini player, and audio night mode. - Customization: Keyboard navigation, touchscreen navigation, highly customizable subtitle styling, minimal UI, improved Discord Rich Presence and a lot more optimizations. - Others: In-player clock, network stats, playback stats etc. Would love to hear your feedback!
NorthCUA :Turbocharging Computer-Use Agents through Experience at Scale Scaling computer-use agents from individual actions to complex software work requires experience that connects decisions to complete outcomes. We present NorthCUA, an integrated system for turbocharging computer-use agents through experience at scale. Its Experience Flywheel supplies diverse executable tasks to the NorthCUA Harness, which sustains long interactions, records decisions, and checks task outcomes. The Flywheel uses these records to curate verified trajectories. For unsolved tasks, recursive self-improvement evolves reusable skills and preserves verified milestones so later attempts build on earlier progress. Staged Learning combines this experience with grounding data from the Flywheel to develop GUI competence through mid-training and long-horizon supervised fine-tuning. The policy then learns from fresh attempts in the same Harness through joint desktop-web reinforcement learning, closing the loop between experience production and policy improvement. The resulting Nano, Mini, and Pro family achieves state-of-the-art results among open-source models across GUI grounding, desktop execution, and Web interaction under the reported evaluation settings. For more responsive Web workflows, NorthCUA-Ultrafast pairs direct action selection with open-ended generation on pre-RL Nano, offering a measured quality-latency tradeoff. Together, these advances establish NorthCUA as a high-performing model family and a reusable foundation for agents that carry complex software work from intent to completion. beipo-ai/NorthCUA beipo.top arxiv.org weights huggingface.co huggingface.co huggingface.co
@ZealynxSecurity @safe @summit_defi The security council (using a multisig) rules which verdicts are correct when Sentinels disagree. These arbitrations take place after execution so the affects are known and a judgement can be made based on the charter (safe-research/safenet-charter)
یه MCP سرور متنباز ساختم به اسم rasmio-mcp که دیتابیس شرکتهای ایرانی تو «رسمیو» رو بهش وصل میکنه به ایجنت هوش مصنوعیتون. قبل از بستن قرارداد یا سرمایهگذاری، فقط ازش بپرسید این شرکت دست کیه و صاحبش کیه 😎 sepehr071/rasmio-mcp 🧵👇 t.co
8080 emulation on V30/V20 is implemented and tested. By specifying address ranges for i8080 code and monitoring the MD bit in the PSW, I was also able to implement breakpoints and step-by-step execution. The execution speed is reasonably good. github.com/tgtakaoka/retro-bionic/blob/main/docs/… asciinema.org
Finally with a nice merge conflict resolution ui: github.com/albertoruibal/liana/releases/tag/v0.6.0
@superalesha @ViC305 @modelfit_ @PeasantSmith @UnslothAI @superalesha try out the @lxe T16 quant (lxe/dsx) I have had great results with it. Am currently building an EXL3 mix of dense bits + T16 and results are quite promising
B2B Dealer Portals: Tier Pricing, Credit Limits, Bulk --- title: "B2B Dealer Portals: Tier Pricing, Credit Limits, Bulk" published: true description: "How to build B2B dealer ordering portals: company accounts and roles, server-side tier and contract pricing, MOQ rules, locked credit checks, bulk orders." tags: webdev, architecture, laravel, ecommerce cover_image: dev-to-uploads.s3.us-east-2.amazonaws.com --- A B2B dealer portal looks like an online store from the outside, but the hard parts are things a retail checkout never deals with: every buyer can see a different price for the same SKU, orders arrive as 80-line spreadsheets, and the most important check at checkout isn't the card. It's whether this dealer is still inside their credit limit. Get pricing and credit wrong and the portal creates more phone calls for your sales team than it removes. I run Loop Origin, and my team built IvoryTex, a bilingual B2B wholesale platform with tiered pricing, minimum order quantities and buyer approval on Laravel 12, Vue 3 and PostgreSQL. I wrote this with help from AI tools and checked every query and claim myself. The code below is simplified from patterns we use in production. What does a B2B dealer ordering portal need? Direct answer: A dealer portal needs company accounts with role-based users, server-side price resolution (contract price, then tier price list, then base price), MOQ and case-pack rules, a credit exposure check before order submission, fast bulk entry (quick order, CSV upload, reorder), optional approval chains, and self-service invoices and statements synced with your ERP. Accounts are companies, not people In retail, one user is one customer. In B2B, the customer is a company with several people who do different things: | Role | Can browse prices | Can build cart | Can submit order | Can see invoices and statements | | --- | --- | --- | --- | --- | | Buyer | Yes | Yes | Up to an order limit | No | | Purchasing manager | Yes | Yes | Yes, approves buyers' carts | Optional | | Finance | Yes | No | No | Yes | | Account admin | Yes | Yes | Yes | Yes, manages users | Price lists, credit limits, payment terms and ship-to addresses belong to the company account. Users inherit them. This sounds obvious, but I've seen portals bolted onto retail platforms where every buyer at the same dealer had a separately configured discount, and they drifted apart within months. Onboarding is also different. IvoryTex buyers apply with business details, a tax ID and expected order volume, and an admin approves them manually before wholesale prices unlock. Until approval, the account sees nothing it can't already see as a guest. Price resolution: one function, server-side The rule I enforce on every dealer portal: the browser never decides a price. It receives a resolved price from the server for the authenticated company, and the server recomputes it at submission. Precedence, from most to least specific: | Priority | Source | Example | Typical owner | | --- | --- | --- | --- | | 1 | Contract price for this company and SKU | Dealer 1042 pays 410.00 for SKU TX-220 until 31 Dec | Sales, per negotiation | | 2 | Quantity break on the company's tier | Wholesale tier: 10+ units at 455.00 | Pricing team | | 3 | Tier price list | Wholesale tier: 480.00 | Pricing team | | 4 | Base list price | 560.00 | Catalog | In PostgreSQL, one query resolves it, so the cart, product page and order validation all use the same logic: SELECT COALESCE( (SELECT cp.price FROM contract_prices cp WHERE cp.company_id = :company AND cp.sku_id = :sku AND now() BETWEEN cp.valid_from AND cp.valid_to), (SELECT tb.price FROM tier_breaks tb WHERE tb.tier_id = :tier AND tb.sku_id = :sku AND tb.min_qty <= :qty ORDER BY tb.min_qty DESC LIMIT 1), (SELECT tp.price FROM tier_prices tp WHERE tp.tier_id = :tier AND tp.sku_id = :sku), (SELECT s.base_price FROM skus s WHERE s.id = :sku) ) AS unit_price; For catalog pages with hundreds of SKUs, run the set-based version of the same logic with joins, and index each table on its lookup key (company_id, sku_id and tier_id, sku_id, min_qty). Column order in those indexes matters; I went through why in composite indexes in PostgreSQL and MySQL. Store the resolved unit price and its source on each order line. When a dealer disputes an invoice three months later, "contract price, agreement #88" ends the conversation in one minute. MOQ, case packs and order rules Wholesale catalogs carry rules that retail doesn't: - MOQ per SKU (minimum 12 units) and sometimes per order value (minimum 50,000 per order). - Case-pack multiples: sold in packs of 6, so 14 is invalid. - Tier-specific thresholds: approved wholesale buyers may get different minimums from smaller retail accounts, as on IvoryTex. Validate these at three points: the quantity input (instant feedback), the cart (clear message before checkout), and the server on submission (the only check that counts). !Neat stacks of folded colorful fabric on a wooden table, representing a wholesale catalog ordered in bulk AI-generated image. The credit limit check Most dealers buy on terms, Net 30 or Net 60. The question at checkout is not "does the card work" but "would this order push the account past its limit?" Credit exposure is more than unpaid invoices: exposure = open AR (invoiced, unpaid) + orders submitted but not yet invoiced + this order available = credit_limit - exposure Teams that only count invoiced AR miss the second line, and a dealer can place five large orders in a week before the first invoice posts. The check needs a lock so two simultaneous orders from the same company can't both pass: DB::transaction(function () use ($order) { $account = CreditAccount::where('company_id', $order->company_id) ->lockForUpdate()->firstOrFail(); $exposure = $account->open_ar + $account->uninvoiced_orders + $order->total; if ($account->on_hold || $exposure > $account->credit_limit) { $order->update(['status' => 'credit_review']); event(new OrderNeedsCreditReview($order)); return; } $account->increment('uninvoiced_orders', $order->total); $order->update(['status' => 'submitted']); }); Two design choices matter here. Orders over the limit go to credit_review instead of being rejected, because finance often approves them after a payment. And open_ar is synced from the ERP or accounting system, which remains the source of truth for invoices. Treat that sync like a ledger, with idempotent updates and an audit trail, the same discipline as marketplace payment ledgers. Bulk ordering that dealers actually use If ordering in the portal is slower than emailing a spreadsheet to their sales rep, dealers will keep emailing. Three entry modes cover most of it: 1. Quick order grid: type or paste SKU and quantity pairs, with live price and stock per line. 2. CSV upload: validate every row, show errors inline (unknown SKU, below MOQ, not a case multiple), and let the dealer fix and resubmit without starting over. 3. Reorder: copy any past order into the cart, re-resolving today's prices, not the old ones. IvoryTex supports one-click reorder from order history because wholesale buying is repetitive. Build, platform B2B features, or custom? | Option | Strengths | Limits to check | Fits when | | --- | --- | --- | --- | | B2B features of a hosted commerce platform | Fast start, hosted checkout, apps | Plan tier needed for B2B features, depth of credit and approval logic, ERP sync options | Standard tiers, card or simple terms | | Off-the-shelf B2B portal software | Built-in quoting and accounts | Per-seat or per-order fees, customization limits | Mid-size catalog, common workflows | | Custom portal on your stack | Exact pricing precedence, credit rules, ERP fit | You own hosting, security and maintenance | Complex contracts, credit terms, unusual rules | Check current plans and pricing directly with vendors; they change often. The decision usually comes down to how unusual your pricing and credit rules are. The 3-year cost framework for custom vs off-the-shelf software is how I run that comparison with clients. Failure modes I design against - Prices computed in the frontend and trusted at submission. - Credit checks without locking, letting parallel orders overshoot the limit. - Stale AR data from a sync that silently stopped. Alert when the last successful sync is older than a few hours. - Shared logins at a dealer, which destroy the audit trail. Make adding users self-service for the account admin. Launch checklist 1. Model companies, users, roles and ship-to addresses. 2. Implement one server-side price resolution function and store the price source on each line. 3. Enforce MOQ and case packs on input, cart and server. 4. Compute exposure including uninvoiced orders, with a row lock. 5. Route over-limit orders to credit review, not rejection. 6. Ship quick order, CSV upload and reorder. 7. Sync invoices and AR from the ERP with monitoring. 8. Give dealers self-service invoices, statements and order status. Frequently asked questions Should dealers see stock levels? Usually yes, as bands (in stock, low, backorder) rather than exact counts, unless your agreements say otherwise. Where should credit limits live, the portal or the ERP? The limit and AR usually belong in the ERP or accounting system. The portal keeps a synced copy plus uninvoiced orders, and does the real-time check. How do I handle sales reps ordering on behalf of dealers? Let reps act on behalf of a company with their own login, and record both identities on the order. Can a dealer portal support quotes? Yes. A quote is a cart with reserved prices and an expiry. Converting it to an order runs the same MOQ and credit checks. How do I price a new dealer before contract terms exist? Assign them a tier on approval. Contract prices can be added later without changing the resolution logic. What should the first version include? Accounts and roles, server-side pricing, MOQ rules, the credit check, quick order and reorder, and invoice download. Approval chains and CSV upload can follow. --- Follow & Connect - LinkedIn: Loop Origin - X: Muhammad Ali Mughal (@AliMughal887) - GitHub: Loop Origin (@LoopOrigin)
@takatkch ほんっと難しいですよね〜! とりあえず、何とか形になりました! ライセンスmitで出しているので、よかったら使ってみて気楽にPRやIssueくださーい! yukincom/nyamuru-image-hub
최근에는 mvp-spec skill 과 claude code 를 조합해서 기획을 진행하고 있으니, 굳이 figma 로 와이어프레임/목업을 만들 이유가 사라지네요. 바로 프로토타입을 구현하고 거기서 기획에 살을 붙이는게 더 직관적이고 빠릅니다. #indiedev #claudecode #agentskills xeno-xeno/mvp-spec
ferrix-kernel: a small AArch64 kernel in Rust on VMware Fusion (Apple Silicon), and what VMware's ARM virtual hardware looks like Disclosure up front: the code was written by Claude Code; I directed it and did the testing on VMware. ferrix-kernel is a small AArch64 kernel in Rust for VMware Fusion on Apple Silicon (and QEMU virt). What it does so far: - **Boot:** UEFI app, collects GOP framebuffer, memory map and RSDP, then `ExitBootServices` and no firmware after that. No hardcoded device addresses: GIC from the MADT, PCIe ECAM from the MCFG, so the same image runs on VMware and QEMU. - **Memory:** bitmap page allocator, own stage-1 tables (4K granule, 48-bit VA, identity map with 1G/2M blocks, page 0 unmapped). Regions found later (ECAM, BARs) are added to the live tables. - **Interrupts and tasks:** GICv3 + EL1 virtual timer at 100 Hz, preemptive round-robin. The exception entry's TrapFrame (incl. FP/SIMD) is the saved task state; returning another task's frame from the handler is the context switch. - **USB keyboard:** VMware's ARM VMs have no PS/2, so it has a polled xHCI driver: legacy handoff, reset, command/event/transfer rings, root-port enumeration, HID boot protocol. - **User space:** programs at EL0, each with its own root table that shares the kernel's entries plus one L0 entry for the user range. User pages are nG with per-space ASIDs, so switches need no TLB flush. Faults kill only the task. - **Capabilities:** per-task cap tables (screen ranges, channel send/recv ends). Syscalls name a slot; blocking `wait` parks the task with ELR moved back onto the `svc` so it retries when woken. What VMware's (undocumented) ARM virtual hardware turned out to be: - GICv3 (GICD 0x2c010000, one GICR frame), no ITS, no usable serial, so all debugging is on screen. - xHCI 15ad:077a sits behind a PCIe root port; the keyboard is on a root port next to a pointer and two USB hubs. - The Apple CPU runs with PAN enabled (QEMU's Cortex-A72 is ARMv8.0, no PAN), which caught the kernel reading a user buffer. It now uses `ldtrb` for user memory. - With a single interrupt IN transfer queued, fast typing on QEMU stopped the keyboard for good; keeping four in flight fixed it. The end goal is Tetris, as in Nand2Tetris; along the way there's a NAND-only circuit simulator, and the latest milestone is a user-space circuit builder you type NAND circuits into. If anyone has notes on VMware Fusion's ARM virtual hardware (it's not documented anywhere I could find), I'd love to compare. GitHub: liris/ferrix-kernel Write-up: note.com
MuseAi Android Auto github.com/Git-FED #naturalvibes, #unfiltered, #caughtoncamera, #behindthescenes #bdsm, #hardcore, #amateur, #art, #photography, #oc, #illustration, #digitalart, #fanart, #gamedev, #indiedev, #webcomic, #nature, #booksky, #furryart
Hey guys, GitHub: github.com/mrrwhoo1/MultiDL/releases I've been developing MultiDL, a free and open-source Android media downloader that allows you to save videos from supported websites for offline viewing. You can choose different video qualities or download audio-only versions when available. MultiDL currently works with platforms such as YouTube, TikTok, Instagram, Facebook, X (Twitter), Reddit, Twitch, Vimeo, Dailymotion, and many other sites supported by yt-dlp. The project is still actively being developed, so I'm looking for users and feedback. I'm interested in hearing about bugs, usability issues, feature requests, and any suggestions for making the app better. Feel free to give it a try and let me know what you think. All constructive criticism is welcome!
My AI has its own stickers now, and you can have them too ☕ All 15 are free for your Telegram chats: t.me Hermes users: the plugin is free as well. MichaelZelbel/hermes-telegram-stickers
skill-video-studio。実ブラウザでの操作を録画して、ブランド合成とローカル仕上げまでやってプロダクト動画にするClaude Code skill。デモ動画って画面収録して編集して、が地味に面倒。アプリの紹介動画を自動で作りたい個人開発者には使いどころがありそう。 aaitor/skill-video-studio
Hey guys, GitHub: github.com/mrrwhoo1/MultiDL/releases I've been developing MultiDL, a free and open-source Android media downloader that allows you to save videos from supported websites for offline viewing. You can choose different video qualities or download audio-only versions when available. MultiDL currently works with platforms such as YouTube, TikTok, Instagram, Facebook, X (Twitter), Reddit, Twitch, Vimeo, Dailymotion, and many other sites supported by yt-dlp. The project is still actively being developed, so I'm looking for users and feedback. I'm interested in hearing about bugs, usability issues, feature requests, and any suggestions for making the app better. Feel free to give it a try and let me know what you think. All constructive criticism is welcome!
The Megamiga core (github.com/johansmolinski/Megamiga/tree/main) is amazing. It turns my #MEGA65 into a full fledged 68040 A4000 with harddisks, ethernet, RTG graphics (720p), Z3 menory expansions, and as a surplus, a working floppy drive. #AMIGA
Found an interesting project: Craft Anything can study a website or app, build your own version, then compare the result against the original. It's still early alpha. storytold/craft-anything
Top 5 GitHub Trending Repos Today (Nov 03) #shorts Daily GitHub trending repositories for 2026-11-03. 1. vercel-labs/agent-desktop - A CLI that lets AI agents read and control desktop apps on any OS. vercel-labs/agent-desktop 2. thedotmack/claude-mem - A plugin that gives AI coding agents memory that persists across sessions. thedotmack/claude-mem 3. D4Vinci/Scrapling - A Python framework that scrapes anything from one page to a whole site. D4Vinci/Scrapling 4. hyprwm/Hyprland - A tiling Linux window manager with slick animations and deep customization. hyprwm/Hyprland 5. Donchitos/Claude-Code-Game-Studios - A Claude Code setup that acts like a full game studio team of AI agents. Donchitos/Claude-Code-Game-Studios #shorts #github #opensource #programming #coding #developer
Libreon - Offline FOSS Office app for Android I spent several months looking for a good FOSS office app for Android, but everywhere I looked it was always, "Collabora is clunky", "LibreOffice Viewer is abandoned", or "just use OnlyOffice and accept the account nags". I got frustrated enough that I decided to build one. Libreon is a free office suite for Android: 1. Edits Word, Excel and PowerPoint (docx/xlsx/pptx, doc/xls/ppt, ODF, RTF) using the LibreOffice engine 2. PDF: fill forms, sign, highlight text (saved as standard annotations), search 3. Text, Markdown (with preview), CSV (with table view), and it handles huge files 4. Tabs, so you can keep many documents open, and unsaved changes survive Android killing the app 5. Search open and recent files, find in any document, word count for documents and selections 6. Light/dark themes, plus "light pages" for a single document What it doesn't have: ads, subscriptions, accounts, trackers, analytics, or Al features. It doesn't even have the internet permission, so Android itself stops it from going online. It's fresh out the oven and very much a beta (tested on a Galaxy S24 Ultra and a couple of other phones, the Android emulator and BlueStacks), so expect rough edges. Android 12+, about 115 MB because the whole office engine is inside. Al disclosure: I built the Android app with the assistance of Al coding agents (Claude Code and Gemini), with me designing, reviewing and testing it on real devices. Opening, editing and saving your documents is handled by LibreOffice and PDFium, mature open-source engines written by people over decades. The app has no internet permission, so it can't send anything anywhere, and the full source is public under GPL-3.0 for anyone to check. **GitHub and APK: jainiakhil/Libreon** While this post serves predominantly as a showcase of my app, bug reports and feature requests are very welcome as well. And I'm happy to answer any genuine questions here!
GitHub今日趋势:thedotmack/claude-mem,为AI智能体保存跨会话记忆,自动压缩过往会话并在新会话注入相关上下文,Claude Code、Codex等多智能体都可用。thedotmack/claude-mem
Imagine asking your coding agent: "Study how this app's search feature works and build something similar." REA gives agents reverse-engineering tools through MCP. morluto/rea
Data: 46 years of hourly ERA5 data cds.climate.copernicus.eu Try your own city: temperature-variations.streamlit.app Code + methodology: ninadparab/weather-temperature