sheharyarn | 4 years ago | on: Tracking content and changes with Delta in Elixir
sheharyarn's comments
sheharyarn | 5 years ago | on: Building secure Multi-tenant applications in Elixir
sheharyarn | 5 years ago | on: Building secure Multi-tenant applications in Elixir
Slab is a multi-tenant Phoenix app where all tables in our database, including pivot tables, have an `org_id` foreign key that references the team the data belongs to. Using association defaults enforces that the correct `org_id` value is automatically set for all resources.
We combine this with an `OrgRepo` module that wraps around our default `Repo`, which can only write or read other resources with the same `org_id`, ensuring that data for one team has no possibility of accidentally leaking to another team (using `Repo` is forbidden in our codebase).
An added bonus is; when we eventually have to scale our databases via something like sharding and have to vertically partition the data based on `org_id`, we would already have this system in place to support us.
sheharyarn | 7 years ago | on: Decensoring Hentai with Deep Neural Networks
sheharyarn | 8 years ago | on: Mitmproxy – Open-source console-based proxy
sheharyarn | 8 years ago | on: Ask HN: What are your Hobbies?
- Programming Hackathons / Conferences
- Music (Alternative / Indie)
- TV Shows and Anime (I waste too much time on them)
- Yoga
- Cooking
- Learning other languages
- Non-Fiction Books
sheharyarn | 8 years ago | on: Where New Slang Comes From
sheharyarn | 9 years ago | on: Pixels Don’t Care (2013)
sheharyarn | 10 years ago | on: The Veil of Ignorance
Delta is a format to describe documents' contents and how it changes over time. This is a core piece of technology at Slab, that powers our real-time collaboration engine, thanks to the built-in support for Operational Transform (think multiple users working together in Google docs).
Though we've been using it internally for almost 4 years now, we're finally open-sourcing it to the wider Elixir community.
Would love your feedback!