HNHacker News
TopNewBestAskShowJobs

artpar

425 karma · joined February 22, 2012

https://github.com/daptin/daptin
submissionscomments
artpar··on The HTML-in-Canvas API origin trial
Thanks for the tip, I did not know about contain: strict. position absolute ofcourse everyone knows. Will checkout contain. But doesnt sound like worth trying out html based canvas again just for contain. I feel like I have come quite far ahead with the native canvas approach.
artpar··on The HTML-in-Canvas API origin trial
I wanted to implement a whole canvas native workspace, I started with a html only implementation and "fake canvas" approach but even for moderate number of panels (~50) the responsiveness dropped quite a lot. So I went with a new implementation with "real canvas" and worked out the panels/interaction.

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.

https://canaster.in/

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?

artpar··on DAVx⁵ – CalDAV / CardDAV / WebDAV for Android
i just found out about this. any thoughts why isn't this more main stream ? i was trying to make a in place replacement for google services on android (to begin with) but apparently just implement the protocols doesn't "work out of the box" for android.
artpar··on Attack of the Vibe Coded Photoshop Clones
I mean imagine if a (expert) human was just writing code for 3 years straight without doing any of the other things you mention like review/testing/refining. I would expect that app also to be performing/behaving poorly. So kind of like a worse waterfall sdlc. So perspective is okay ?
artpar··on Attack of the Vibe Coded Photoshop Clones
> A vibe coded app is, in human hours, not only a few days old but closer to two or three years old.

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.

artpar··on Keyboard differences between Windows and Macs
I am not expecting any consistency. I am expecting a claim of consistency NOT to be made for keyboard shortcuts either on osx or windows.
artpar··on Keyboard differences between Windows and Macs
Consistent but optional, sounds inconsistent to me. Anyways that was 1 example, here's some more.

⌘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

artpar··on Keyboard differences between Windows and Macs
> I love that on macOS all in-app shortcuts are consistently Command+Something, like Q for Quit, W to close a window

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.

artpar··on Why Common Lisp is now the best programming language
> because writing code used to be the slow part

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.

artpar··on The ChatGPT/Codex app bundles a full copy of LibreOffice
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.

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.

artpar··on The ChatGPT/Codex app bundles a full copy of LibreOffice
I have made puppt cli for this, it includes high dpi rendering per-slide/all-slides and in place editing

https://github.com/artpar/puppt

it allows your llms to see the ppt files structurally apart from just rendering it

artpar··on Ask HN: What are you using for authn/authz and payments?
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.

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

artpar··on Ask HN: What are you using for authn/authz and payments?
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.

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).

https://github.com/daptin/daptin/wiki

https://github.com/daptin/daptin/wiki/Permissions

artpar··on AI Built a Nuke and Still Lost
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.
artpar··on Show HN: JSLike, a CSP-Safe Interpreter for JS, TS, JSX, TSX in JS
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
artpar··on Show HN: Canopy – A2UI experiment in Go for macOS/AppKit
screenshots in the github readme https://github.com/artpar/canopy
artpar··on I think WebRTC is better than SSH-ing for connecting to Mac terminal from iPhone
Here is an implementation you might like

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)

artpar··on Building SQLite with a small swarm
I tried that over a month

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

artpar··on Stop Doom Scrolling, Start Doom Coding: Build via the terminal from your phone
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.

https://news.ycombinator.com/item?id=46514587

artpar··on Show HN: Tt – P2P terminal sharing over WebRTC
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.
artpar··on FAWK: LLMs can write a language interpreter
I wrote two

jslike (acorn based parser)

https://github.com/artpar/jslike

https://www.npmjs.com/package/jslike

wang-lang ( i couldn't get ASI to work like javascript in this nearley based grammar )

https://www.npmjs.com/package/wang-lang

https://artpar.github.io/wang/playground.html

https://github.com/artpar/wang

artpar··on Designing a Language (2017)
I am actually going to use this instead of the one I created ( I could never get to correct ASI handling in that grammar)
artpar··on Designing a Language (2017)
This is exactly what I wanted and couldn't find. Ended up creating along with an interpreter (so slightly easier then walk and execute)
artpar··on Designing a Language (2017)
I want to execute dynamically generated javascript looking code in chrome extension without using eval or new function. basically eval without actually using eval.

linter would help me find and avoid usages of eval.

artpar··on Designing a Language (2017)
csp safe has a particular meaning associated it with. its not a "safe" language whatever that is. chrome webstore team is okay with it and serves my purpose. if you have submitted extensions to google chrome then you would know that any sign of "eval" or new Function in the code will lead to rejection.
artpar··on Designing a Language (2017)
I made a language for using in another project, so I'll answer your questions

https://www.npmjs.com/package/wang-lang

- this new language looks and behaves exactly like javascript, except it doesnt have "eval" and "new Function", so it is CSP safe. That's the only difference. I wanted to execute dynamically generated code in chrome extension

- llm did most of the work of creating a nearley grammar and associated interpreter (whole thing is bundled, nearley is not a final dependency), elaborate tests make this quite sane to handle

- took me about total of 1 weeks for the initial mvp to try out, and then have been fixing bugs and inconsistencies with javascript behavior, about 1 day a month of effort

- mostly 0

The only reason to create was I couldnt find something similar and it was low effort thanks to llm

I also created another even smaller DSL you can say

https://www.npmjs.com/package/free-text-json-parser

It parses json embedded in plain text

artpar··on Chaining FFmpeg with a Browser Agent
100x.bot primarily a browser automation engine (think imacros ) but with llm and all the tools for interacting with the Dom and a better interface . there is a workflow builder so you do not need to rely on llm for executing deterministic workflows.
artpar··on Chaining FFmpeg with a Browser Agent
I did not know gstreamer wasm also exists, I'll check it out
artpar··on Chaining FFmpeg with a Browser Agent
I think that goes with almost every tool you want to use with llm. User should already know the tool ideally so mistakes by llm can be prevented before they happen.

Here making ffmpeg as "just another capability" allows it to be stitched together in workflows

artpar··on A stateful browser agent using self-healing DOM maps
I am sorry I think you might have installed the our workflow plugin(close ended agent) instead of agent4 (open ended). Its a new experiment we are working. We are working on the website messaging.

Agent4 - https://chromewebstore.google.com/detail/agent4/kipkglfnhnpb...

Old workflow plugin - https://chromewebstore.google.com/detail/100xbot/dhcenlmiiom...

Page 1 of 6Next →