artpar
In terms of performance this approach worked out much better (able to easily handle 1000+ panels/nested panels at 60+ fps) but the complexity goes very high in the implementation of each panel. As in I cant just use for eg a markdown rendering js library or any third party ui component. And frequently make a change would result in massive performance degradation.
Currently I have text/markdown/image/audio/video and pdf panel (you can drag and drop files)
I wonder if i should take another go at it and implement using html-in-canvas api. Afraid of the api being not maintained if they dont see benefit or usage?
DAVx⁵ – CalDAV / CardDAV / WebDAV for Android
I think that's an interesting way to put the quality of vibe coded apps in perspective. A human developing a software will definitely notice the obvious issues if they are using it in much less time frame (6 weeks? 6 months?).
It feels like the waterfall style software projects which would be just built for years and when delivered turn out to be mostly useless.
⌘R Reload in Safari; reply in Mail; reveal an alias's original in Finder
⌘L Address bar in browsers; message filter in Mail; clear to previous mark in Terminal.
⌘I File info in Finder; italics in text; inspector in Terminal.
I can keep going. This is not to say windows/osx is worse or better, just that claims of consistency are not suitable on either
Yeah consistency is great, similarly cmd+t closes a tab, wait cmd+w closes a tab not a window. and cmd+w in vlc does not close vlc, cmd+w in finder does close the window.
I don't understand how people have that stated as a fact. Coding was never the slow part. Neither pre-llm, nor now. How it needs to be done is software engineering. And that corresponds now to the "thinking" part of llms, so unless you are making the llm "think in lisp" its not useful. How would that even work. training data to be completely in lisp ?
> Lisp programs are often much more concise because macros let you abstract away recurring patterns and make them part of the language itself
functions ?
> So the bigger the program gets, the bigger the difference. In my own experience the apps I've built in Common Lisp end up about six to seven times shorter than the Python versions
By that logic writing code in this concept language made up completely of symbols would take you even further ( https://github.com/artpar/guage ) but in practice it doesnt because llms arent trained to that extent on this.
IBM Bob
Uber to lay off 10% of staff in biggest cuts since Covid
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.
Show HN: PuPPT – slide renderer and inline editor for PPT/PPTX (Golang/no deps)
https://github.com/artpar/puppt
it allows your llms to see the ppt files structurally apart from just rendering it
almost any project which matures to requiring a user authn/authz (and there are always assets owned by users) i default to using daptin
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
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
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
3. handling payments -> fraud monitoring is usually part of the payment processor and you are not supposed to do much about it
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).
Show HN: TypeScript/JavaScript as interactive isometric circuit board
Show HN: ATM, a tiny terminal task manager for local coding agents
Hi HN,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.It currently recognizes common agent CLI processes like Codex, Claude, Gemini, Aider, OpenCode, Goose, Amp, and Cursor Agent. Codex has the deepest support right...
Show HN: JSLike, a CSP-Safe Interpreter for JS, TS, JSX, TSX in JS
Show HN: Canopy – A2UI experiment in Go for macOS/AppKit
I came across https://a2ui.org/ a couple of months ago and decided to do an implementation as a side projectcanopy renders jsonl files as functional and interactive native GUIHere is a hello world example```example.jsonl{"type":"createSurface","surfaceId":"main","title":"Tasks"}{"type":"updateDataModel","surfaceId":"main","ops":[ {"op":"replace","path":"/tasks","value":[{"title":"Ship...
https://github.com/artpar/terminal-tunnel
P2P with webrtc (pion ftw) with e2ee
client side is webui so you can use on any device
ps: the default Cloudflare Worker from my account is already maxed out so you will need your own exchange (self host on your account)
except '- the directness and simplicity of JavaScript'
https://github.com/artpar/guage
But somehow the language feels so foreign. it can obviously do hello world, but I don't have a real use case
PS: the "Pure symbols only" is no longer true, most symbols have been converted to English names
and, the "days" you see there in the markdowns are "claude code sessions", not actual days
Show HN: Tt – P2P terminal sharing over WebRTC
Made this to use my laptop terminal session on mobile without data going through a server.tt start -p mypassword → get a URL (qrcode) → open in browser → enter password → connected.Direct webrtc datachannel between your machine and browser.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...