<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: artpar</title><link>https://news.ycombinator.com/user?id=artpar</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 05 Sep 2026 05:47:20 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=artpar" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[IBM Bob]]></title><description><![CDATA[
<p>Article URL: <a href="https://bob.ibm.com/">https://bob.ibm.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49563851">https://news.ycombinator.com/item?id=49563851</a></p>
<p>Points: 248</p>
<p># Comments: 279</p>
]]></description><pubDate>Fri, 04 Sep 2026 12:50:29 +0000</pubDate><link>https://bob.ibm.com/</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=49563851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49563851</guid></item><item><title><![CDATA[Uber to lay off 10% of staff in biggest cuts since Covid]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.reuters.com/business/world-at-work/uber-cut-3300-jobs-overhaul-bloomberg-news-reports-2026-09-02/">https://www.reuters.com/business/world-at-work/uber-cut-3300-jobs-overhaul-bloomberg-news-reports-2026-09-02/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49546398">https://news.ycombinator.com/item?id=49546398</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 03 Sep 2026 05:57:02 +0000</pubDate><link>https://www.reuters.com/business/world-at-work/uber-cut-3300-jobs-overhaul-bloomberg-news-reports-2026-09-02/</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=49546398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49546398</guid></item><item><title><![CDATA[New comment by artpar in "The ChatGPT/Codex app bundles a full copy of LibreOffice"]]></title><description><![CDATA[
<p>Yeah thanks to LLM hill climbing and PPTs being easily available and they being nothing more than just xmls this did not involve any gotchas, just a about a weeks worth of goal chasing with manual verification. I did have to stop LLM into hardcoding a lot of times trying to escape the actual goal.<p>But based on this I thought I could make something similar for cad files, and they turned out to be an entirely different monster. the cad spec is like 1000x bigger than ppts, cad files themselves were hard to gather for test targets. 70-80% of their spec is public and remaining is driven by private vendors. the format itself is in binary. The LLM has been chasing that goal since about 2 months now and its nowhere close.</p>
]]></description><pubDate>Thu, 03 Sep 2026 05:10:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=49546174</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=49546174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49546174</guid></item><item><title><![CDATA[Show HN: PuPPT – slide renderer and inline editor for PPT/PPTX (Golang/no deps)]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/artpar/puppt">https://github.com/artpar/puppt</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49543337">https://news.ycombinator.com/item?id=49543337</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 02 Sep 2026 22:16:09 +0000</pubDate><link>https://github.com/artpar/puppt</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=49543337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49543337</guid></item><item><title><![CDATA[New comment by artpar in "The ChatGPT/Codex app bundles a full copy of LibreOffice"]]></title><description><![CDATA[
<p>I have made puppt cli for this, it includes high dpi rendering per-slide/all-slides and in place editing<p><a href="https://github.com/artpar/puppt" rel="nofollow">https://github.com/artpar/puppt</a><p>it allows your llms to see the ppt files structurally apart from just rendering it</p>
]]></description><pubDate>Wed, 02 Sep 2026 11:41:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49534822</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=49534822</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49534822</guid></item><item><title><![CDATA[New comment by artpar in "Ask HN: What are you using for authn/authz and payments?"]]></title><description><![CDATA[
<p>100x.bot is completely powered by daptin, canaster.in (work in progress, i am redoing the frontend in webgl) is also running on daptin. there are various internal company services which are running on daptin which i cannot name here.<p>almost any project which matures to requiring a user authn/authz (and there are always assets owned by users) i default to using daptin<p>I have hardened it a lot over the last 10 years, especially in terms of transaction/concurrency/security. happy to help you setting it up in your project. you can dm me ( x.com/phparth ) or leave an issue on the github repo</p>
]]></description><pubDate>Thu, 16 Jul 2026 14:59:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48935519</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48935519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48935519</guid></item><item><title><![CDATA[New comment by artpar in "Ask HN: What are you using for authn/authz and payments?"]]></title><description><![CDATA[
<p>hey I have built daptin for this and been running all of my projects with daptin as the sole backend server for data/authn/authz.<p>1. oauth/account management -> daptin can serve itself as a oauth provider as well as allow "login via oauth" on 3rdparty oauth servers. you get a full managed account including forget/reset password<p>2. permissions -> this involves more than rate limits, like who's the owner of what and you can manage permissions at user/guest/group level<p>3. handling payments -> fraud monitoring is usually part of the payment processor and you are not supposed to do much about it<p>and these days you can point your llm agent to the wiki to get most of the stuff done without needing to read the docs yourself. you just need a cheap vps (the $5 ones on digital ocean will be more than fine).<p><a href="https://github.com/daptin/daptin/wiki" rel="nofollow">https://github.com/daptin/daptin/wiki</a><p><a href="https://github.com/daptin/daptin/wiki/Permissions" rel="nofollow">https://github.com/daptin/daptin/wiki/Permissions</a></p>
]]></description><pubDate>Thu, 16 Jul 2026 14:02:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48934754</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48934754</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48934754</guid></item><item><title><![CDATA[Show HN: TypeScript/JavaScript as interactive isometric circuit board]]></title><description><![CDATA[
<p>Article URL: <a href="https://artpar.github.io/solderless/">https://artpar.github.io/solderless/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48729506">https://news.ycombinator.com/item?id=48729506</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 30 Jun 2026 07:19:18 +0000</pubDate><link>https://artpar.github.io/solderless/</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48729506</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48729506</guid></item><item><title><![CDATA[New comment by artpar in "AI Built a Nuke and Still Lost"]]></title><description><![CDATA[
<p>The key takeaway pretty much applies to the authoring of the article itself. The LLM knew what all happened but couldn't put it into a readable article.</p>
]]></description><pubDate>Tue, 23 Jun 2026 10:55:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48643085</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48643085</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48643085</guid></item><item><title><![CDATA[Show HN: ATM, a tiny terminal task manager for local coding agents]]></title><description><![CDATA[
<p>Hi HN,<p>I made ATM, short for Agent Task Manager. It is a small CLI/TUI that shows which local coding agents are running on your machine, which repo they are in, and whether they look active, idle, stale, or just present as a process.<p>It currently recognizes common agent CLI processes like Codex, Claude, Gemini, Aider, OpenCode, Goose, Amp, and Cursor Agent. Codex has the deepest support right now: ATM can read local session metadata to show the project, session path, last activity, and a compact "what just happened" summary.<p>I built it because I kept ending up with several agents running across different repos and wanted something friendlier than ps for answering: "what is still alive, where is it working, and has it gone quiet?"<p>Install:<p>curl -fsSL <a href="https://github.com/artpar/atm/releases/latest/download/install.sh" rel="nofollow">https://github.com/artpar/atm/releases/latest/download/insta...</a> | sh<p>Repo:
<a href="https://github.com/artpar/atm" rel="nofollow">https://github.com/artpar/atm</a><p>It is early, tiny, and CLI-first. I’d love feedback from people running multiple local agents at once because right now its a very basic.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48223680">https://news.ycombinator.com/item?id=48223680</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 21 May 2026 14:49:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48223680</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48223680</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48223680</guid></item><item><title><![CDATA[New comment by artpar in "Show HN: JSLike, a CSP-Safe Interpreter for JS, TS, JSX, TSX in JS"]]></title><description><![CDATA[
<p>it is a javascript interpreter in javascript, based on the ast generated by acron parser. to avoid calling "eval" or "new Function" for code executed by un-trusted sources. a sandbox</p>
]]></description><pubDate>Sat, 09 May 2026 16:56:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48076375</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48076375</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48076375</guid></item><item><title><![CDATA[Show HN: JSLike, a CSP-Safe Interpreter for JS, TS, JSX, TSX in JS]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/artpar/jslike">https://github.com/artpar/jslike</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48075356">https://news.ycombinator.com/item?id=48075356</a></p>
<p>Points: 6</p>
<p># Comments: 2</p>
]]></description><pubDate>Sat, 09 May 2026 14:38:52 +0000</pubDate><link>https://github.com/artpar/jslike</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=48075356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48075356</guid></item><item><title><![CDATA[New comment by artpar in "Show HN: Canopy – A2UI experiment in Go for macOS/AppKit"]]></title><description><![CDATA[
<p>screenshots in the github readme <a href="https://github.com/artpar/canopy" rel="nofollow">https://github.com/artpar/canopy</a></p>
]]></description><pubDate>Thu, 23 Apr 2026 14:05:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47875923</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=47875923</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47875923</guid></item><item><title><![CDATA[Show HN: Canopy – A2UI experiment in Go for macOS/AppKit]]></title><description><![CDATA[
<p>I came across <a href="https://a2ui.org/" rel="nofollow">https://a2ui.org/</a> a couple of months ago and decided to do an implementation as a side project<p>canopy renders jsonl files as functional and interactive native GUI<p>Here is a hello world example<p>```example.jsonl<p>{"type":"createSurface","surfaceId":"main","title":"Tasks"}<p>{"type":"updateDataModel","surfaceId":"main","ops":[ {"op":"replace","path":"/tasks","value":[{"title":"Ship demo","done":false}]}]}<p>{"type":"updateComponents","surfaceId":"main","components":[ {"componentId":"root","type":"Column","children":["title"]}, {"componentId":"title","type":"Text","props":{"content":{"path":"/tasks/0/title"}}} ]}<p>```<p>jsonl to gui renderer is one part, canopy can connect with your llm provider directly and let the llm build the app thru these incremental jsonl.<p>canopy supports --claude or --codex at run in "reverse controlled mode", starts claude/codex with canopy as an MCP server and appropriate prompt.<p>the mcp also exposes a "screenshot" tool for itself so the LLM can actually "see" whats its build. and it can obviously interact with the app itself to test it.<p>the images in the readme are real examples.<p>apart from the basic native components like input field, scroll, layouts etc, canopy can do - ffi function calls - take its own screenshot - audio/video capture - api calls<p>for "demo" apps it works okay, i notice different kind of "behavioral issues" in the generated apps though, mostly in terms of state management for more complex apps, the issue gets multiplied. i tried a "pixel editor to ico export", the editor part worked fine (0 ergonomics for the user though), the export did not work at all. i coulnt get to a usable "sqlite browser" at this point.<p>but i am sure these are prompt problems/tooling that can be fixed with better abstractions (packages, reusable components)<p><a href="https://github.com/artpar/canopy" rel="nofollow">https://github.com/artpar/canopy</a><p>go build -o canopy</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47873874">https://news.ycombinator.com/item?id=47873874</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 23 Apr 2026 09:55:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47873874</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=47873874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47873874</guid></item><item><title><![CDATA[New comment by artpar in "I think WebRTC is better than SSH-ing for connecting to Mac terminal from iPhone"]]></title><description><![CDATA[
<p>Here is an implementation you might like<p><a href="https://github.com/artpar/terminal-tunnel" rel="nofollow">https://github.com/artpar/terminal-tunnel</a><p>P2P with webrtc (pion ftw) with e2ee<p>client side is webui so you can use on any device<p>ps: the default Cloudflare Worker from my account is already maxed out so you will need your own exchange (self host on your account)</p>
]]></description><pubDate>Tue, 24 Feb 2026 20:31:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47142520</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=47142520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47142520</guid></item><item><title><![CDATA[New comment by artpar in "Building SQLite with a small swarm"]]></title><description><![CDATA[
<p>I tried that over a month<p>except '- the directness and simplicity of JavaScript'<p><a href="https://github.com/artpar/guage" rel="nofollow">https://github.com/artpar/guage</a><p>But somehow the language feels so foreign. it can obviously do hello world, but I don't have a real use case<p>PS: the "Pure symbols only" is no longer true, most symbols have been converted to English names<p>and, the "days" you see there in the markdowns are "claude code sessions", not actual days</p>
]]></description><pubDate>Mon, 16 Feb 2026 11:52:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47033926</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=47033926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47033926</guid></item><item><title><![CDATA[New comment by artpar in "Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone"]]></title><description><![CDATA[
<p>I did show hn just yesterday
you don't need tailscale or any 3rd party server. Just use webrtc and it's just your mobile and laptop. end 2 end encrypted. no 3rd party dependency.<p><a href="https://news.ycombinator.com/item?id=46514587">https://news.ycombinator.com/item?id=46514587</a></p>
]]></description><pubDate>Wed, 07 Jan 2026 08:30:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46523956</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=46523956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46523956</guid></item><item><title><![CDATA[New comment by artpar in "Show HN: Tt – P2P terminal sharing over WebRTC"]]></title><description><![CDATA[
<p>Thanks! And wow, getting a kind word from a Pion maintainer means a lot. Your library made this whole thing possible. The datachannel API is incredibly clean to work with. Appreciate you and the team's work on it.</p>
]]></description><pubDate>Tue, 06 Jan 2026 17:44:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46515681</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=46515681</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46515681</guid></item><item><title><![CDATA[Show HN: Tt – P2P terminal sharing over WebRTC]]></title><description><![CDATA[
<p>Made this to use my laptop terminal session on mobile without data going through a server.<p>tt start -p mypassword → get a URL (qrcode) → open in browser → enter password → connected.<p>Direct webrtc datachannel between your machine and browser.<p>Signaling server is a cloudflare worker, exchanges ~2KB of sdp/ice metadata then gets out of the way. Password never transmitted - argon2id derives 256-bit key locally on both ends. All terminal i/o gets nacl secretbox encryption before hitting the datachannel. double encrypted with dtls underneath but I wanted the relay to see nothing useful even during signaling.<p>go + pion/webrtc, about 14k loc. browser is xterm.js + webcrypto for argon2id. stun default, turn for symmetric nat.<p>my use case: checking on claude code runs from my phone when im not at my desk. hotel wifi, spotty mobile data. spent time on turn fallback, keepalive with reconnection, buffered writes during disconnects. pwa so it works from home screen and survives app switching. holds up ok on 3g.<p>Trade-offs: ice gathering takes 2-5s on connect. browser cant initiate, need cli on host. codes expire 24h.<p>Single binary, no deps. daemon mode for multiple sessions. tests with race detector, chaos tests for disconnects, network condition simulation. crypto and webrtc at ~72% coverage.<p><a href="https://github.com/artpar/terminal-tunnel" rel="nofollow">https://github.com/artpar/terminal-tunnel</a><p>ps: default relay runs on my cloudflare free tier so no guarantees. you can self-host the worker or run tt relay locally.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46514587">https://news.ycombinator.com/item?id=46514587</a></p>
<p>Points: 13</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 06 Jan 2026 16:38:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46514587</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=46514587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46514587</guid></item><item><title><![CDATA[Show HN: Long Term Planner MCP]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/artpar/longterm-planner-mcp">https://github.com/artpar/longterm-planner-mcp</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46424433">https://news.ycombinator.com/item?id=46424433</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 29 Dec 2025 19:28:55 +0000</pubDate><link>https://github.com/artpar/longterm-planner-mcp</link><dc:creator>artpar</dc:creator><comments>https://news.ycombinator.com/item?id=46424433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46424433</guid></item></channel></rss>