amsha | 11 days ago | on: Show HN: Ash, an Agent Sandbox for Mac
amsha's comments
amsha | 11 days ago | on: Show HN: Ash, an Agent Sandbox for Mac
Your feedback about permissions is something I'm working on fixing now. Apple requires multiple permissions for Endpoint Security and Network Extension APIs and the current setup process doesn't walk users through that process as elegantly as I would like it to.
amsha | 11 days ago | on: Show HN: Ash, an Agent Sandbox for Mac
amsha | 11 days ago | on: Show HN: Ash, an Agent Sandbox for Mac
- VMs - Containers - sandbox-exec (macOS builtin tool) - Endpoint Security + Network Extension (AFAIK this is just Ash but it would be good to see company here)
amsha | 11 days ago | on: Show HN: Ash, an Agent Sandbox for Mac
amsha | 11 months ago | on: Hydrogen vs. Battery Buses: A European Transit Reality Check
Buses are classified as a “Most Uncompetitive” category. Electricity, whether wired or battery powered, is cheaper and easier to scale for the predicable everyday energy use of a city bus.
amsha | 4 years ago | on: The Federation Fallacy (2019)
Address lock-in is real but doesn't fully negate the benefits of federation. Even if you don't control your address's domain, you can switch providers without losing the ability to send and receive email. There is extra cost in pointing your bank account to your new address, but it is possible. If your bank communicated to you via a non-federated protocol like WhatsApp, switching would be impossible.
amsha | 4 years ago | on: The Federation Fallacy (2019)
Without federation, switching means migrating both your host and your network of participants simultaneously. That is a much harder and more expensive coordination problem.
amsha | 5 years ago | on: Drogue Device – An async, no-alloc actor framework for embedded devices
amsha | 6 years ago | on: Ask HN: Models for Collaborative Websites?
Regardless of the technology behind a website, online communities without strong moderation tend to die over time as low quality content crowds out everything else.
amsha | 6 years ago | on: Free Solo and Economic Growth
This is a major component of software's power – it's a tool for formalizing knowledge and skills permanently and distributing it rapidly at ~0 marginal cost. If a piece of software is both correct and performant, it can last a very, very long time, possibly outliving its creators. And the best software composes, so one program can build on top of another to build up a massive skillset.
amsha | 7 years ago | on: Ask HN: What do you dislike about Erlang?
Otherwise, it’s a great language. I’m consistently happy with the decisions that the Erlang and Elixir core teams make, and it’s my go-to language for web development.
amsha | 7 years ago | on: Real Differences Between OT and CRDT for Co-Editors
amsha | 7 years ago | on: Real Differences Between OT and CRDT for Co-Editors
Is that not the case?
amsha | 7 years ago | on: Real Differences Between OT and CRDT for Co-Editors
My hunch is that because CRDTs are so much easier to grok than OT, engineers are empowered to make use case-specific improvements that aren't reflected in academic literature.
For example, the Logoot/LSEQ CRDTs have issues with concurrent insert interleaving; however, this can be solved by dedicating a bit-space in each ID solely for followup inserts. The "Inconsistent-Position-Integer-Ordering" problem is solved by comparing ids level-by-level instead of in one shot.
Fundamentally, CRDTs have strong strategic advantages over OT. Given a document size N and a document edit history H:
* CRDT size is O(N) where OT is O(H)
* CRDT updates are O(log N) where OT is O(H^2)
In any nontrivial document, H ≫ N. This means CRDTs have much better perf than OT. Additionally, the best CRDTs (like Logoot/LSEQ) don't require tombstones, garbage collection, or "quiescence." The complexity burden is far lower.
To top it off, CRDTs are offline-capable by default.
amsha | 7 years ago | on: Would you use Kubernetes in your startup?
However, once you need service discovery, secret management, auto scaling, etc k8s is the least bad solution I’ve found. I ended up using GKS but that was before AWS released a competitor.
amsha | 8 years ago | on: Seattle Is Winning the War on the Car Commute
amsha | 9 years ago | on: Kubernetes cluster management for AWS?
A saas that puts a UI on top of kops would be ideal, but that might not exist as a standalone service.
amsha | 9 years ago | on: Kubernetes cluster management for AWS?
amsha | 9 years ago | on: Languages on BEAM, the Erlang virtual machine
The main benefit of Go, I think, is that it can cross-compile builds. Erlang and Elixir don't have any way to do that, so if you develop on Mac and deploy on Linux you'll need to build your release in a VM or on a build server running Linux.
Ash is built on the Endpoint Security and Network Extension APIs. Together, they cover the full gamut of potential sandbox escapes, and it's a simple process to update sandbox rules while the sandboxed process is running.
Claude Code sandbox is built mainly on sandbox-exec, an older macOS sandbox technology. It works for filesystem and IO device control, but it can only filter network requests by IP address. CC uses an application-level network proxy as a workaround, but not every network client respects the HTTP_PROXY env variable it requires. There are other workarounds in CC sandbox for complex use cases (e.g. dangerouslyDisableSandbox) that Ash does not need.