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
omafeed 0.2.3 is out! An RSS reader for Omarchy. This release includes a new aarch64 package and fixes for @omarchy theme switching. I'm obviously biased, but it's one of the apps I use every single day. Give it a try! pch/omafeed t.co
OpenClaw 2026.10.10 broke every chat turn on my box (11/11 failed). Will updates ever not be gambling? I've been using openclaw since it was moltbot. For six+ month I've been on and off active in this subreddit. Updating already has its own routine: read the release, dry run, detached updater, and afterwards a script that checks every model and every connection and usually have it fixed with an outside model. We all know: that routine exists for a reason. But today even that didn't help. This morning I went from 2026.9.7 to 2026.10.10. The release was about seven hours old and tagged latest. - The migration rewrote my claude-cli model refs to anthropic refs. One agent had an API primary with a Claude CLI fallback on purpose. After the update it was pinned to the CLI and the fallback was gone. Had to restore it from the pre-update config. - Then every agent turn in my main chat failed. 11 out of 11. The SQLite worker has a hard-coded 512 MB heap cap, and my main session is big (~127k transcript events, 1 GB agent DB). The worker hits the cap, dies with ERR_WORKER_OUT_OF_MEMORY and gets respawned, followed by a full integrity check of the DB that takes up to 28 s on the Pi. Whatever was in flight is gone. 13 worker deaths in about 50 minutes. - In Telegram that shows up as "Agent database execution admission is closed", "This Codex session changed before your message could run. Please send it again." or "OpenClaw couldn't finish this request". Replies that were already generated never arrived. - Switching from Codex to Claude changed nothing. /new changed nothing either; the session ID stays the same. Yesterday on 2026.9.7, same session, same DB: zero of these errors. The best part: there's already an issue for this exact failure class (#185953, reported on 2026.10.7: an unbounded transcript read kills the 512 MB worker). It was closed as "already implemented on main". It still happens on 2026.10.10. Searching the repo's issues for "admission is closed" gives 56 results. It's not the first time either. After the June update, the Codex OAuth had to be repaired before I could even smoke-test. Last week every Codex request failed with a 403 "Codex cannot verify the owner of this model request" for about 45 minutes, until a gateway restart fixed it. I was defending OC against the Hermes onslaught, I tried to help other users to go through painful updates and I fixed mine a hundred time, but I think I finally arrive at a point where I had enough. I thought stable was supposed to be stable? I know this is opensource, I know people put a lot of personal effort into this but honestly we see these issues with every update, we are told it gets better, it gets worse. Here's the issue if someone cares: openclaw#191847
4/ Run it: ollama run hf.co Model: huggingface.co Code: DecentMakeover/bsba-21-bantwal-konkani-4b Write-up: ryandsouza.org Thanks @ai4bharat and the Konkani LLM project.
Correlation Matrix of Operating KPIs > jquick-pdf by example — demo #11 of 184. Every article in this series ships one complete, runnable demo: a template file and a Java class. No snippets, no omissions. A symmetric matrix showing which operating indicators move together. This document belongs to the Credit report — chart series set. Like every demo in the series it has its own colour scheme and layout combination, derived deterministically from the demo number — so the look is stable across runs and two neighbouring documents never look alike. What you'll build - A PDF written to D:/test/creditreport/11_matrix.pdf - A template file (report/credit_report_11_matrix.txt) with 1 bound placeholder - A detail grid of 18 rows × 6 columns, laid out with width:100% so it fills the text area - One self-contained Java class (JQuickCreditReport11MatrixTest) that binds the data and renders the file <details> <summary>Bound placeholders</summary> ${svg} </details> Prerequisites Java 8+ and one dependency — jquick-pdf is built on Apache PDFBox, not iText: <dependency> <groupId>io.github.paohaijiao</groupId> <artifactId>jquick-pdfx</artifactId> <version>4.2.0</version> </dependency> Coordinates: io.github.paohaijiao:jquick-pdfx:4.2.0. Step 1 — the template file JPdfX is jquick-pdf's HTML-like template language. It lives in its own file (src/test/resources/report/credit_report_11_matrix.txt) instead of a Java string, so designers can edit it without touching code. <pdf> <body> <div style="backgroundColor:#1A237E; borderRadius:6px; padding:16px; marginBottom:12px"> <h1 style="textAlignment:center; color:white; fontSize:21; bold:true; marginBottom:8px">'企业信用评级报告'</h1> <p style="textAlignment:center; color:white; fontSize:10; margin:2px">'报告编号: CR-2023-08975 | 评估日期: 2023年11月15日'</p> <p style="textAlignment:center; color:white; fontSize:10; margin:2px">'评估机构: 四川省企业信用评估中心'</p> </div> <div style="marginBottom:14px"> <h2 style="color:#1A237E; fontSize:14; bold:true; marginBottom:8px">'四川省泡海椒科技有限公司'</h2> <table style="width:600px; fontSize:10"> <tr> <td style="width:150px; padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'统一信用代码'</td> <td style="width:150px; padding:6px; border:1px solid #9fa8da">'91110108MA01XX1234'</td> <td style="width:150px; padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'成立日期'</td> <td style="width:150px; padding:6px; border:1px solid #9fa8da">'2018年5月20日'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'注册资本'</td> <td style="padding:6px; border:1px solid #9fa8da">'1000万元人民币'</td> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'法定代表人'</td> <td style="padding:6px; border:1px solid #9fa8da">'泡海椒'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'所属行业'</td> <td style="padding:6px; border:1px solid #9fa8da">'软件和信息技术服务业'</td> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #9fa8da">'企业规模'</td> <td style="padding:6px; border:1px solid #9fa8da">'中型(150-200人)'</td> </tr> </table> </div> <div style="marginBottom:14px"> <h2 style="color:#1A237E; fontSize:13; bold:true; marginBottom:10px">'历年财务数据(单位:万元)'</h2> <table style="width:600px; fontSize:10"> <tr> <th style="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'财务指标'</th> <th style="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2020年'</th> <th style="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2021年'</th> <th style="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2022年'</th> <th style="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'2023年'</th> <th style="backgroundColor:#303F9F; color:white; padding:6px; textAlignment:center; border:1px solid #c5cae9">'增长率'</th> </tr> <tr> <td style="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'营业收入'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'8,560'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'12,340'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'18,920'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'25,680'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+44.2%'</td> </tr> <tr> <td style="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'净利润'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'1,240'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'2,150'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'3,890'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'5,420'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+63.8%'</td> </tr> <tr> <td style="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'总资产'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'15,800'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'22,450'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'31,200'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'42,800'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+39.5%'</td> </tr> <tr> <td style="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'净资产'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'9,200'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'13,800'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'19,500'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9">'26,400'</td> <td style="padding:5px; textAlignment:right; backgroundColor:#f5f6fb; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+42.1%'</td> </tr> <tr> <td style="padding:5px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'毛利率'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'42.5%'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'45.8%'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'48.2%'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9">'51.6%'</td> <td style="padding:5px; textAlignment:right; border:1px solid #c5cae9; color:#2e7d32; bold:true">'+9.1%'</td> </tr> </table> </div> <div style="marginBottom:14px"> <h2 style="color:#1A237E; fontSize:13; bold:true; marginBottom:10px">'关键经营指标'</h2> <table style="width:600px; fontSize:10"> <tr> <th style="width:150px; padding:6px; backgroundColor:#e8eaf6; color:#1A237E; textAlignment:center; border:1px solid #9fa8da">'指标维度'</th> <th style="padding:6px; backgroundColor:#e8eaf6; color:#1A237E; textAlignment:center; border:1px solid #9fa8da">'说明'</th> </tr> <tr> <td style="width:150px; padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'营收增长率'</td> <td style="padding:6px; border:1px solid #c5cae9">'连续三年保持40%以上增长,2023年达到25,680万元'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'利润率提升'</td> <td style="padding:6px; border:1px solid #c5cae9">'净利率从14.5%提升至21.1%,盈利能力显著增强'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'研发投入'</td> <td style="padding:6px; border:1px solid #c5cae9">'研发费用年均增长38.9%,占营收比例达13.3%'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'人才结构'</td> <td style="padding:6px; border:1px solid #c5cae9">'技术研发人员占比42%,硕士以上学历占35%'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'客户质量'</td> <td style="padding:6px; border:1px solid #c5cae9">'服务15家上市公司,客户续约率92%,大客户满意度4.8/5.0'</td> </tr> <tr> <td style="padding:6px; backgroundColor:#e8eaf6; bold:true; border:1px solid #c5cae9">'资产质量'</td> <td style="padding:6px; border:1px solid #c5cae9">'资产负债率维持在38%左右,流动比率2.8,偿债能力良好'</td> </tr> </table> </div> <div style="marginBottom:14px"> <h2 style="color:#1A237E; fontSize:13; bold:true; marginBottom:10px">'财务指标相关矩阵'</h2> <div style="display:flex; justifyContent:space-between"> <svg style="width:400px;height:400px">${svg}</svg> <div style="width:300px; border:1px solid #3F51B5; padding:12px"> <h3 style="color:#1A237E; fontSize:12; bold:true; marginBottom:8px">'评级指标说明'</h3> <div style="fontSize:10; marginBottom:6px"> <span style="bold:true; color:#303F9F">'财务状况(90分): '</span> '营收稳定增长' </div> <div style="fontSize:10; marginBottom:6px"> <span style="bold:true; color:#303F9F">'经营能力(95分): '</span> '客户留存率高' </div> <div style="fontSize:10; marginBottom:6px"> <span style="bold:true; color:#303F9F">'偿债能力(85分): '</span> '负债率合理' </div> <div style="fontSize:10; marginBottom:6px"> <span style="bold:true; color:#303F9F">'发展潜力(92分): '</span> '研发投入增加' </div> </div> </div> </div> <div style="marginBottom:14px"> <table style="width:600px; fontSize:10"> <tr> <th style="width:150px; padding:6px; backgroundColor:#303F9F; color:white; textAlignment:center; border:1px solid #c5cae9">'评价项'</th> <th style="padding:6px; backgroundColor:#303F9F; color:white; textAlignment:center; border:1px solid #c5cae9">'评级结论'</th> </tr> <tr> <td style="width:150px; padding:8px; backgroundColor:#e8eaf6; bold:true; verticalAlignment:middle; border:1px solid #c5cae9">'综合评价'</td> <td style="padding:8px; fontSize:11; border:1px solid #c5cae9">'四川省泡海椒科技有限公司作为国家级高新技术企业和专精特新"小巨人"企业,在云计算和大数据领域表现出色。公司财务状况健康,经营能力突出,技术创新能力强,具备良好的发展潜力。信用评级为AAA级,展望稳定。'</td> </tr> </table> </div> <div style="textAlignment:center; marginTop:12px"> <lineSeparator style="strokeColor:#3F51B5"></lineSeparator> <p style="fontSize:9; color:#5c6bc0; marginTop:8px">'本报告依据公开信息和专业评估模型生成,仅供参考 | 报告生成时间: 2025年09月06日'</p> <p style="fontSize:9; color:#5c6bc0">'© 2023 企业信用评估中心 版权所有 | 认证编号: CE-2023-001'</p> </div> </body> </pdf> Step 2 — the Java class jquick-pdfx/src/test/java/com/github/paohaijiao/biz/report/JQuickCreditReport11MatrixTest.java /* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Copyright (c) [2025-2099] Martin (goudingcheng@gmail.com) */ package com.github.paohaijiao.biz.report; import com.github.paohaijiao.JOption; import com.github.paohaijiao.config.JPdfConfig; import com.github.paohaijiao.demo.constant.JQuickConstant; import com.github.paohaijiao.enums.JChartType; import com.github.paohaijiao.executor.JQuickPdfFactory; import com.github.paohaijiao.factory.JChartRendererFactory; import com.github.paohaijiao.matrix.JCorrelationMatrixOption; import org.junit.Test; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; /** * 统一信用报告 —— 风格 11:相关矩阵(靛蓝) * * <p>以 {@code report/credit_report_11_matrix.txt} 为模板,把相关矩阵渲染成 SVG 后 * 绑定到模板中的 {@code ${svg}} 占位符,输出到 {@code D:\test\creditreport\11_matrix.pdf}。</p> * * @author Martin * @version 1.0.0 */ public class JQuickCreditReport11MatrixTest { public static final String path = JQuickConstant.path; @Test public void report11Matrix() throws IOException { double[][] correlationData = new double[][]{ {1.00, 0.63, 0.30, -0.62, -0.54, 0.42}, {0.63, 1.00, 0.55, -0.41, -0.36, 0.38}, {0.30, 0.55, 1.00, -0.28, -0.24, 0.31}, {-0.62, -0.41, -0.28, 1.00, 0.72, -0.46}, {-0.54, -0.36, -0.24, 0.72, 1.00, -0.39}, {0.42, 0.38, 0.31, -0.46, -0.39, 1.00} }; JCorrelationMatrixOption matrixOption = JCorrelationMatrixOption.builder() .title("财务指标相关矩阵", "各财务指标之间的相关性分析") .dataset(correlationData) .build(); matrixOption.dataset().dimensions(new String[]{"营业收入", "净利润", "总资产", "资产负债率", "流动比率", "研发投入"}); JOption option = new JOption(); option.setCorrelationMatrixOption(matrixOption); String svg = JChartRendererFactory.renderChart(JChartType.CorrectionMatrix, option); File dir = new File(path + "creditreport"); if (!dir.exists()) { dir.mkdirs(); } FileOutputStream fileOutputStream = new FileOutputStream(path + "creditreport/11_matrix.pdf"); JPdfConfig config = new JPdfConfig(); // 开启 flex 行布局:图表与其右侧的指标说明面板在宽度允许时并排,而不是换行堆叠。 config.getLayoutConfig().setFlexLayout(true); JQuickPdfFactory factory = new JQuickPdfFactory(config); factory.bind("svg", svg); byte[] bytes = factory.executeResource("report/credit_report_11_matrix.txt"); fileOutputStream.write(bytes); fileOutputStream.close(); } } Step 3 — run it The class is a JUnit test, so run it with Maven: mvn -pl jquick-pdfx test -Dtest=JQuickCreditReport11MatrixTest …or call the test method from a main wrapper if you want a plain entry point: public static void main(String[] args) throws Exception { new JQuickCreditReport11MatrixTest().report11Matrix(); } Output: D:/test/creditreport/11_matrix.pdf How it works Binding a chart SVG into the template The chart is not a bitmap — JChartRendererFactory.renderChart(...) returns an SVG string, and the template embeds it with a single <svg> element bound to ${svg}. That means the chart stays vector-sharp at any zoom level, and it participates in normal flow layout instead of being stamped on top of the page. - Declare only the width on <svg>; the height is derived from the chart's aspect ratio, so the chart never stretches vertically. - Open config.getLayoutConfig().setFlexLayout(true) if the template centers the chart with display:flex. - Bind the SVG string with factory.bind("svg", svg) — bind() is pure data injection and never re-parses markup. String svg = JChartRendererFactory.renderChart(JChartType.LINE, option); JQuickPdfFactory factory = new JQuickPdfFactory(config); factory.bind("svg", svg); byte[] bytes = factory.executeResource(TEMPLATE); CJK font configuration CJK text needs a font that actually contains the glyphs. The engine ships with a Chinese font and lets you switch it through JFontConfig; if a glyph is missing the character is silently dropped or drawn as a box, and the failure looks like a data problem rather than a font problem. - Set the font once on JPdfConfig.getFontConfig() before rendering. - Chart SVG text is a separate pipeline — register the same family on JOption or chart labels fall back to Helvetica. - Prefer the full-width ¥ over ¥; the latter is often absent from CJK faces. JPdfConfig config = new JPdfConfig(); config.getFontConfig().setDefaultFontName("Noto Sans CJK SC"); Template syntax cheat sheet | Syntax | Meaning | | --- | --- | | <p style="fontSize:9pt; bold:true"> | Inline styles use camelCase keys, CSS-like values. | | <lineSeparator style="color:#2E5B8A; thickness:1.5f"> | Horizontal rule with colour and thickness. | | <list style="listStyleType:decimal"><li> | Ordered or unordered list items. | | <td style="padding:4px; border:1px solid #C3CDD8"> | Cell styling. A <td> holds text only — no nested blocks. | | factory.bind("k", v) | Injects plain text into the context; markup inside a value is dropped. | Gotchas worth remembering - The footer format accepts exactly one %d. - Keep <!-- ... --> comments short — long ones can silently blank the render. - Use the full-width ¥, not ¥, or the character may render as ?. - Compute money with BigDecimal, round once, and derive 大写 from the rounded value. Output !Image description Wrap up You now have a template file, a Java class and a PDF — all three reproducible from a clean clone. Swap the placeholder blocks for real data (or for real seal images) and the layout does not move. Series navigation: [← #10 Heatmap of Monthly Revenue Across Regions](./10-heatmap-monthly-revenue.md) · [#12 Sunburst Chart: Drilling Into Merchant Industry Mix →](./12-sunburst-chart-merchant-industry-distribution.md) Full index: [README.md](./README.md) · Source: jquick-pdf --- Appendix — files in this demo | Role | Path | | --- | --- | | Java class | jquick-pdfx/src/test/java/com/github/paohaijiao/biz/report/JQuickCreditReport11MatrixTest.java | | Template | jquick-pdfx/src/test/resources/report/credit_report_11_matrix.txt | | Output PDF | D:/test/creditreport/11_matrix.pdf | | Preview image | images/11.png |
@shanselman @surface i get this when i run it on my surface laptop 7 (qualcomm snapdragon x) FYI submitted haptic-outside-labs#35 that converts your zips into an msixbundle that deals with multi chip architectures nicely t.co
Codex、WorkBuddy、豆包都能接 Renoise MCP,打开链接照页面接入👇 renoise.ai 片子里的项目开源在这,感兴趣的朋友可以试试,觉得有用麻烦给个 star: Rion-Wu-tech/wechat-intelligence-hub
@Sergey_Rura @joelhooks Would this help solve that? github.com/un-ts/eslint-plugin-import-x/blob/mast…
My first time writing JavaScript: an open-source analytics library for React Native. Would love your feedback I’m a mobile engineer with many years in native Android and Flutter. Recently I built an open-source analytics library called Herald. I designed it and wrote the Android and Flutter versions myself, and for the React Native SDK I used AI to help me with TypeScript, since it was my first time writing it. That’s exactly why I’d like a review from real RN devs: AI knows the syntax, but people who build RN apps every day know what feels right. The problem it solves: in most apps analytics ends up as one big AnalyticsManager that every layer depends on, and every new vendor makes it worse. The idea: the app should not know which analytics vendors exist. Feature code only says what happened, and Herald sends it to every vendor you use (Firebase, Mixpanel, Amplitude, Adjust, AppsFlyer, Meta) over each vendor’s own React Native package. An event is a class your app owns: import { int, type Event, type EventParameters } from '@herald-analytics/core'; class CheckoutStarted implements Event { readonly name = 'checkout_started'; constructor( readonly plan: string, readonly seats: number, ) {} get parameters(): EventParameters { return { plan: this.plan, seats: int(this.seats) }; } } herald.track(new CheckoutStarted('pro', 3)); Since TypeScript is new for me, I made some design choices I’m not sure about, and I would really like to hear what experienced RN devs think: - Events are classes, because factories pick them with instanceof. In RN code I often see plain objects or discriminated unions instead. Would that feel more natural to you? - Numbers say their type: int(3) or double(9.99), because JavaScript can’t tell 3 from 3.0 and some vendors care. Is this annoying, or acceptable? - Calls don’t wait for each other, and a call never fails: vendor errors go to an error reporter. When order matters, you await the first call. Does this feel right? - Does the API look like idiomatic TypeScript, or like “Kotlin written in TypeScript”? GitHub: MkhytarMkhoian/herald-react-native Docs: mkhytarmkhoian.github.io Thanks in advance. Critical feedback is the most useful for me.
Next Factorio arc suggestion Satisfactorio github.com/unjustodin/Zenith/releases/tag/v0.1.0
Параллаксимус — субагент Cursor: параллакс-хиро для сайта из одного 2K-атласа. Параллакс ломает не код, а передний план. Тут он только рамка по краям и закрывает героя максимум на 25%. Заголовок за персонажем, отсюда объём. Horosheff/paralaximus-agent t.co
GitHub - JiaFeiMiao-K-Cat/DiscImageStudio · GitHub JiaFeiMiao-K-Cat/DiscImageStudio CD,DVD,BD-Rの記録面に絵を焼くツール 昔DVD-Rまではあったんだけど、専用のドライブが必要だった BDとなるともっと高精細な絵が焼けるんだろうか ※ただし中華製
Olla v0.1.0 - Lightweight open-source LLM proxy for homelabs & on-prem inference (Ollama, vLLM, SGLang, llama.cpp, oMLX with failover, sticky sessions & load balancing) Hey folks, About 18 months ago we started building Olla to solve some of the headaches we kept running into whilst managing multiple local LLM inference servers, both in our homelabs and at work. We've shared it here before when it was fairly early in development. Since then, it's grown quite a bit, and we've just released v0.1.0 (our 25th release!). The problems we're trying to solve haven't really changed and now some of our customers use it: - One inference endpoint dies and your workflows grind to a halt. - You've got models spread across different machines, GPUs and runtimes, but no easy way to manage them as one fleet. - Switching between Ollama, vLLM, SGLang, llama.cpp or LM Studio means reconfiguring applications. - Multiple machines serving the same model, but no unified load balancing or failover. - Limited visibility into what's healthy, what's running and where requests are going. - Applications expecting OpenAI or Anthropic APIs when your inference backend speaks something else. - You want to experiment and see if vllm or sglang serves qwen3.8 better That's where Olla comes in. It's a lightweight proxy and load balancer written in Go that sits between your applications and inference servers. Some of what it does today: - Model-aware routing: Automatically discovers models across your backends and routes requests to machines that actually serve them. - Load balancing and failover: Priority, round-robin and least-connections balancing, with health checks and circuit breakers. - Multiple inference runtimes: Ollama, vLLM, SGLang, llama.cpp, LM Studio, MLX, Docker Model Runner, LMDeploy, Lemonade and others. - Unified APIs: OpenAI-compatible and Anthropic-compatible interfaces, including translation where required. Useful for Open WebUI, Claude Code and other clients. - KV cache locality: Sticky sessions to help keep requests on the same backend when appropriate. - Observability: Built-in dashboard, endpoint health, request statistics and Prometheus metrics. - Lightweight deployment: Single Go binary or Docker container. No database or external services required. What's new in v0.1.0? This release is largely about improving reliability and making Olla more useful for people running mixed inference environments. - Added Hugging Face Text Embeddings Inference (TEI) support, including embeddings, reranking and classification. - Reworked the dashboard with better endpoint visibility, configurable columns, filtering and fleet statistics. - Configurable retry and failover behaviour, including handling of non-idempotent requests. - Improved model capability detection, particularly for vision, tool calling, embeddings and rerankers. - Fixed concurrency issues between model discovery and active inference requests. - Corrected request statistics and improved rate limiting across OpenAI and Anthropic routes. - Lots of smaller fixes around routing, backend discovery and configuration validation. We've also had some great contributions from the community, which has been encouraging to see. Why build another LLM proxy? We wanted something small, fast and relatively straightforward to deploy that doesn't require Kubernetes, a database or a complicated orchestration stack. There also weren't that many when we started. We've been using Olla with a mixture of NVIDIA GPU servers, Mac Studios, the DGX Spark and different inference runtimes. It's particularly useful when you've got more than one machine and don't want to care which backend is serving a particular model. It's not trying to replace inference engines. Just make running a bunch of them together less painful. Links: - GitHub: thushan/olla - Docs: thushan.github.io - v0.1.0 release notes: tensorfoundry.io If you're running multiple local inference servers, I'd be interested to hear how you're managing routing and failover today. And as always, if you give Olla a spin, let us know how it goes (and what breaks!).
Anthropic closed the door to REA so the developers behind Photocract created this: storytold/craft-anything Reverse engineer anything is back!
Flash OpenWrt onto your Jio AirFiber router faster than you can make Maggi. wpfyorg/idu-unlock t.co
The system calculates where each meteor came from as well. Pretty cool. And all the data is shared into a network of cameras across the planet. More info: github.com/ukmda/ukmon-pitools/wiki/What-is-RMS
Show HN: Syrinx, a censorship-resistant communications platform You can see a demo here: syx.var0.xyz You'll need the server's public key to access it: -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEauMlLxYJKwYBBAHaRw8BAQdAtfhhdbSSUVmzgZgSak2OlJwLDOsdhqlPvQW2 riMb+XrNCFhVNk5Gdktmwr0EExYIAG8FgmrjJS8CCwcJEMOqN5gwW3VjNRQAAAAA ABwAEHNhbHRAbm90YXRpb25zLm9wZW5wZ3Bqcy5vcmc9BlGpsOfW/mrcw2NeuF2S AhUIAhYAAhkBApsDAh4BFiEEZByTKLjN5CQxL/yQw6o3mDBbdWMAAM5hAPwNuf3/ whkTFcBtZo+jZVmRE6xNfU+i4ZPX/KE4aY1QTAD+Mt2w/UG0d3yU5AzoytbQfu13 SKYR2TZ0SG/k8WraJgnOOARq4yUvEgorBgEEAZdVAQUBAQdASloHQrKU+YwSzoEB w/JOfxcY97pn2oDBe/N6ng8L3SIDAQoJwq4EGBYIAGAFgmrjJS8JEMOqN5gwW3Vj NRQAAAAAABwAEHNhbHRAbm90YXRpb25zLm9wZW5wZ3Bqcy5vcmc5DlseP1BwxD6/ GK/AHtyiApsMFiEEZByTKLjN5CQxL/yQw6o3mDBbdWMAAN86AP0eEbXH7QGtG8l8 7uw88zqr1Ua1sh+yHT2m4nAmligT0wEA7WBp5AshaIeIG7fE94smRDzT9h7JXEzW gXcGm1RcQwY= =v+fX -----END PGP PUBLIC KEY BLOCK-----
I built Web-MCP-Bridge: An open-source extension and Python bridge to run local MCP tools in web AI interfaces Hey everyone, I built Web-MCP-Bridge, a 100% open-source browser extension and local Python WebSocket bridge designed to bring Model Context Protocol (MCP) tool execution directly to web-based AI chat interfaces (such as ChatGPT, Gemini, Claude, DeepSeek and other browser chats). The Problem: Most power users want to give web AI interfaces access to local tools (filesystems, local terminal execution, custom automation scripts, or desktop management). However, web chat UIs don't natively support local MCP execution, often requiring users to set up paid API tokens or run heavy standalone apps. How it works: Tool Interception: The extension intercepts structured JSON tool calls inside the browser chat UI. Local Bridge: It routes the request over a local WebSocket (127.0.0.1) to a lightweight Python process. Execution and Return: The bridge executes the command on your local stdio MCP server (like astrax-mcp or any custom local server) and returns the output back into the chat window. Key Highlights: Zero API Requirements: Works directly with your standard browser chat sessions. Granular Security: 3-state permission model (Allow always, Ask every time, Don't allow) requiring user confirmation before executing any local tool. Local-First and Private: All WebSocket communication stays strictly on 127.0.0.1. Fully Open-Source: Both the browser extension (Manifest V3) and Python bridge server are open-source. Stack: Extension: JavaScript (Manifest V3, Content Scripts, Service Workers) Local Bridge: Python (WebSockets, asyncio, stdio MCP execution) []( ) Check out the code, run it locally, and contributions or feedback are very welcome! GitHub Repository:AstraxOf/web-mcp-bridge
@enesburak2025 what are you saying, check github and check our X account @twigpine we just post a couple of big updates today github.com/Twigpine
フォロワー急激に増えたので自己紹介 ①色々曲作ってました 再開したい youtu.be youtu.be on.soundcloud.com ②ボカロをメディア文化論で研究してます note.com ③個人でWebアプリ開発をやってます github.com/misato729 rbplus-rank-manager.site taiko-dp-tier.vercel.app ④音ゲー(ⅡDX,Rb,SDVX,pop'n)してます youtu.be @Good_Maniacs ⑤47都道府県を2年間で2周しました
@aaryan_kakad Please refer to Nanbeige/Depth-Hybrid-Attention , the arXiv paper will be released later.
Dublin at 9am, São Paulo forty minutes later. Nobody crossed the Atlantic that fast. Impossible travel in KQL, built step by step with prev() and a distance function: alanconlon.com Free queries: alanconlon/kql-hunting-queries
Big ZIP file, barely any storage left? 👀 Meet KaiHatch! 📱 An open-source Android app inspired by HatchZip that extracts files while shrinking the original archive as it goes. Less storage headaches! Give it a spin! 🚀 biplov13b/KaiHatch Built with Kotlin & Jetpack Compose.
@MCLooyverse @valigo There it is, found it accidentally yesterday: mmozeiko/android-native-example
@MohdAna62 @justonedev Here's the direct HOL Guard MCP contribution guide if you're sharing it in Discord: github.com/hashgraph-online/hol-guard/blob/main/d…
مهما وصفنا، مش هقدر أوفي البرنامج ده ربع حقه Open Source, Native Swift, another complete layer of MacOS settings and tweaks that literally costs hundreds of pounds for FREE and it's WELL optimised as well @vorssaint on behlaf of all of us, Thank you <3 vorssaint/vorssaint-utils
John Harrison used Claude to auto-formalize OpenAI's Navier-Stokes results in HOL Light (simpler TCB than Lean): hol-light-family/Navier_Stokes I've posted a trace of the HOL Light proofs, and a script that rechecks the proofs in 30 seconds on a typical CPU core: cr.yp.to
「自宅インフラ解説動画作って」をポン出しでこれなら結構満足!!!! Celestaのポン出し満足度いまのところRemotionより高い mika-f/Celesta t.co
But I don't want to vote....they all suck. Built a thing , spent much time fixxing thing, Thing not done but thing look better and I tired. left model on flatpack Vibe Monkey out💤💤💤. @QuixiAI volkdude85/quixidesk-volkdude85-published
GitHub - VivaLaVent/ps5-bazzite-deck: Bazzite Deck (Steam Gaming Mode) images for the PS5 with working Game Mode, VCN and Wi-Fi
Expo UI on Android gets Material 3 Expressive dropdown menus with DropdownMenuPopup, groups and selectable items. Available now in SDK 58. expo#52598
Would you let an AI drive your PC? 👇 vercel-labs/agent-desktop
arxiv.org 💻 Code: xlyu0106/CUA-Master
@theramgoel @itsOmSarraf_ @code_kartik Github: github.com/predictivemanish Updates: predictivemanish.github.io Resume: drive.google.com
@thisisashfaque nearest place for that is the repo for the macOS client, at phibrowser/phibrowser-mac
monday's 14 picks and their hashes are up on 0xinsider.com. run the verify script from 0xinsider/picks to check any of them
手机电脑同桌办。 @GitHub_Daily:开源 NectarLink——Android 连 Windows 后可在电脑回通知、传文件、单独开手机 App 窗;局域网或数据线,端到端加密无需账号。GitHub:thtbee/nectarlink 判断:办公时手机消息打断频繁的人先试;只用 Mac 或不想投屏的可跳过。配对功能按设备逐项开关。 t.co
Today we released Nexity. Nexity is an open source system for starting and growing AI-native websites on Next.js + Sanity. Coding agents read your design, brand and build rules from files in the project, so new sections stay on the design system. MIT. Pagepro/nexity
@UnTalNixon_exe I did something similar rscunha13/gdsllm
仮想マシン関連早見表 仮想マシンはDSHやPyを導入する場合に推奨。 コンテナは脆弱性のリスクがあるため非推奨。 個人開発においてNVIDIA OpenShellが敷居低めか? NVIDIA/OpenShell t.co
I've been working on ArchStudio, an open-source tool that takes a different approach to software architecture. JamieLivingstone/ArchStudio archstudio.app #OpenSource #SoftwareArchitecture #DevTools
Cell lines that share a well are not independent observations in the Tahoe-100M drug screen Xuanrui Huang arxiv.org [𝚚-𝚋𝚒𝚘.𝚀𝙼] 💬Code: xuanruihuang/well-is-the-unit t.co
Global Alarm: Give Your Swarm a Clock and Your Memory a Day Off. “I’ll remember to check that on Friday.” A bold deployment strategy. No persistence layer. No retry policy. Powered entirely by a person who currently has seventeen terminal tabs open and cannot remember which one contains production. Global Alarm gives that future task a place to live. Create a reminder in Phoenix, save it to the MatrixOS agent, and let the running swarm send it through your configured alert relays when it becomes due. Close Phoenix afterward: the schedule lives with the agent. The condition matters: MatrixOS and the required relay agents must keep running. Closing the cockpit is fine. Shutting down the machine hosting the swarm is a rather more enthusiastic interpretation of “day off.” Global Alarm is currently marked provisional — QC testing needed in the agent reference. Start with a test reminder and confirm the complete delivery path before depending on it. The useful jobs are wonderfully ordinary: a weekly backup review, a maintenance-window heads-up, a daily handover reminder, or a one-time nudge to revisit that temporary workaround that has started receiving anniversary cards. Global Alarm schedules messages. The operator still performs the task described in the message. You choose a title, message, local date and time, IANA time zone, and recurrence: once, daily, or weekly. Each reminder also names a service role. At the due time, Global Alarm discovers matching agents and queues the reminder to them. Telegram, Discord, and email relays can carry it to the places you already check. That division of work keeps the setup small: Phoenix edits the schedule, Global Alarm keeps time and state, and a relay handles the external service. For a first swarm, use the Matrix root with matrix_https for command ingress, matrix_websocket for Phoenix replies through hive.rpc, global_alarm, and telegram_relay. You can add discord_relay or email_send later. Add log_streamer if you also want streamed agent logs in Phoenix; Global Alarm’s schedule and panel replies use their own command and callback paths. Here is the setup sequence: 1. Prepare the host. If MatrixOS is not installed, open Install MatrixOS… in Phoenix to launch Railgun’s installer. Select the intended SSH target and use Install from GitHub, or Local Full Install with the matrixos directory from your checkout. Complete the install and check its result before deploying a swarm. Use matching, current Phoenix and MatrixOS sources. The deployed Global Alarm package must include both global_alarm.py and engine.py; shipping only the entry point leaves the scheduler’s engine at the station. 2. Build or edit the swarm in Swarm Workspace. Add the agents above and configure their required Registry assignments, transport addresses, and certificates. Keep the WebSocket agent’s hive.rpc@cmd_rpc_route service available so Phoenix can receive the alarm panel’s replies. 3. Give Global Alarm its identity and storage. Resolve its packet-signing constraint in both directions and assign a dedicated persistent_state Registry record. Signing keys support authenticated communication with Phoenix; the persistent-state assignment supplies the stable storage identity and encryption material. Keep that record, state ID, key, and universe consistent across redeployments so the agent can find and decrypt its saved reminders. 4. Configure the relay. Assign the Telegram bot credentials and destination chat, or the appropriate Discord or SMTP configuration. Ensure alerts are enabled. In the relay’s Service Manager Roles editor, add the reminder role described below. 5. Set Global Alarm’s defaults. Its configuration editor provides Check interval (seconds) and Default alert to role. The check interval defaults to five seconds and supports one through sixty. For this example, set the outgoing role to hive.alarm.telegram. Individual reminders can override it. 6. Deploy with Railgun and connect. Complete the workspace deployment assignments, review the resulting configuration, and launch the deployment to your selected host. Railgun streams the sealed deployment envelope over the pinned SSH channel to MatrixD, which decrypts it in memory and boots the swarm. Connect Phoenix to the deployed swarm, select Global Alarm, and open its clock panel. The next detail is small enough to miss and important enough to ruin your afternoon: the sending role and receiving role must match. In the Telegram relay’s Service Manager Roles, advertise: hive.alarm.telegram@cmd_send_alert_msg In Global Alarm’s default, or the reminder’s Alert to role field, enter: hive.alarm.telegram The relay advertises the role plus its handler. The reminder specifies just the role, without @cmd_send_alert_msg. The discovered endpoint supplies the handler. Want one reminder to reach Telegram, Discord, and email? Configure all three relays to advertise a shared role such as hive.alarm.ops@cmd_send_alert_msg, then send the reminder to hive.alarm.ops. Global Alarm queues a copy to each discovered matching listener. For a narrower audience, give only the intended relay a dedicated role. The default hive.alert can work too, but it may have other listeners in your swarm. A dedicated reminder role makes the audience easier to control. “Everybody got it” is useful only when everybody was on the invitation list. Now create something useful. In the Global Alarm panel, choose New and fill in a reminder like this: | Field | Example | | --- | --- | | Title | Weekly backup review | | Message | Check the latest backup result and perform the planned restore check. A green badge is not a restored database. | | Date and time | Next Friday at 09:00, entered as the actual local date and time | | Time zone | America/New_York | | Repeat | Weekly | | Enabled | Checked | | Alert to role | hive.alarm.telegram | Click Add / Update Draft, then Save Changes. You can also save directly after editing the form; Save Changes stages the current form before sending the complete list. Wait for the save acknowledgment. A draft sitting in the editor has approximately the same operational authority as a sticky note still attached to its backing paper. Select a saved row to edit it. Use New for another reminder, Delete to remove one, and save again to commit those changes. Reload Saved fetches the agent’s stored list and can discard unsaved work after confirmation. If another panel saved a newer revision, your conflicting save is rejected until you reload. The alarms belong to this agent. Authenticated Phoenix operators who can manage it share the same alarm list; there are no separate private lists for each operator. Time zones deserve their own moment of respect. A weekly 09:00 reminder follows 09:00 in the selected IANA zone, even when its UTC offset changes. The server’s default zone does not silently replace the reminder’s zone. The panel displays the server clock and refreshes it while connected; it labels the display stale when fresh reports stop arriving. Daylight-saving behavior is explicit: an initial time inside a spring-forward gap is rejected; a future recurring occurrence inside that gap is skipped. If a local time occurs twice during fall-back, the first occurrence is used. “Twice a year we negotiate with the sun” remains a remarkably durable software requirement. If the agent was stopped when a reminder became due, it queues the missed reminder after resuming. Missed recurring occurrences are combined into one catch-up reminder, then the schedule advances to the next future occurrence. You get a nudge, rather than a historical reenactment of every Friday you missed. Disabled reminders do not fire; re-enabling an overdue one can queue it immediately. Changing a schedule re-arms the alarm. The panel’s status tells you where the work stands: | Status | What it means | | --- | --- | | Unsaved / Unsaved edit | The change is still a draft. | | Scheduled | The enabled reminder is waiting for its occurrence. | | Waiting for matching role | The occurrence is pending because no matching listener was discovered. | | Queueing X/Y | Some of the discovered destinations still need a successful queue handoff. | | Queued | The one-time occurrence was handed off to its destinations. | | Disabled | Scheduling is turned off for this reminder. | If no listener is found, the occurrence stays pending and discovery is retried. Once listeners are found, their IDs are saved for that occurrence. A failed queue attempt remains pending, while destinations already recorded as queued are normally skipped on retry. Saved confirms encrypted agent storage. Queued confirms a handoff to a relay. Neither is a receipt from your phone or inbox. A relay can be disabled, misconfigured, or fail after accepting the packet. Global Alarm does not implement downstream delivery receipts or exactly-once delivery; a crash after queueing but before recording success can cause a duplicate retry. Keep that distinction in mind when reading the status column. Reminders are stored in encrypted persistent state. Telegram, Discord, and email also support optional signed alert-payload encryption through the relay’s encrypt_alerts setting and assigned key material. That is a separate choice from storage encryption. Configure the matching decryption workflow and test it if you enable the option; ordinary chat and mail clients do not magically turn the encrypted payload back into readable text. The current limits are 200 alarms and 2,000 characters per message, with titles up to 120 characters. Between the polling interval and the relay’s delivery path, this is a practical reminder scheduler rather than a precision timing instrument. Before handing it your real schedule, create a one-time reminder a few minutes ahead. Save it, close Phoenix while leaving the server swarm running, and confirm the message arrives at the intended destination. Reopen Phoenix and inspect the saved state. Repeat the test for each relay you plan to use. That short exercise proves much more about your setup than admiring a correctly spelled service role. Once that works, give the swarm the weekly backup check, the maintenance heads-up, and the follow-up you keep carrying around in your head. Your memory can spend its day off remembering something pleasant. Like where you put the coffee before opening terminal number eighteen. For the implementation details, see the Global Alarm agent reference and Phoenix walkthrough. Victory Always. 🌐 Links & Resources: - MatrixSwarm source — MatrixOS and Phoenix - Try MatrixSwarm - Join the Community / Discord - YouTube
13/ Beauty Within (3 days) Hair, clothes and one lip tint picked from your own colours, tried on your own unretouched photo. Code: JannetEkka/beauty-within Demo: beauty-within.pages.dev
@NiakanHamid @nuxt_js It's a npm package, `npx nuxt-bundle-analyzer` See atinux/nuxt-bundle-analyzer
10/ SQL Noir (3 days) A detective game that teaches SQL on live data. Your rows decide the verdict, never the model. Code: JannetEkka/sql-noir Demo: youtu.be
@deedydas Here's the repo folks @anmolm_ @manacircleapp go ahead and play with it. anshul-tiberius/founder-marksheet
we gave our AI an eye for detail. 👀 Meet WeVisOne-VL, an open-source 2B/4B model from our Weixin Vision team. It finds and counts objects, reads text, and makes precise masks and cutouts—no separate SAM needed. Not in the image? "None." Tencent/WeVisOne-VL
Official policy for AI generated content on Resonite #6134 Resonite-Issues#6134