diff --git a/README.md b/README.md index 3224a74..255a5b1 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,7 @@ for each of them. (GMail notifications might open your mail client if you click Keep it pluggable, otherwise its of no use. -## Telegram To RSS +## Telegram To RSS :gift: There are quite a lot of Telegram channels that are popping up these days that I really like using. Except there are lots of issues with telegram channels: @@ -262,12 +262,14 @@ _Update 2_: The mods are not very happy with the [abstract being posted](https:/ For Bonus Points: Include a link to the fermat library URL of the paper (if available). -# Slack Dialer +# Slack Dialer :gift: All of our company has contact numbers added on Slack, but it is cumbersome to find someone's profile on Slack. A simple dialer application that does OAuth-verification on your Slack profile to get a list of the entire organization, and present a simple dialer for all the people who have contact details added. Interface would be a simple grid of faces, click to dial, sorted by frequency. A simple search-as-you-type box at the top. Can also be done as a PWA to easily make it cross-platform. +Note that this requires a Slack team with a paid account. I'll help you get a trial so you can build this. + # Database Conversion Toolkit using an ORM Something that lets you switch your database between SQLite/MySQL/Postgres/... by using @@ -280,7 +282,7 @@ switching your ORM to use an existing database as the source of truth. Even a sp Thought of this after spending a lot of time trying to migrate my Grafana/Gitea setups from sqlite to mysql and trying every solution in [this SO question](https://stackoverflow.com/questions/18671/quick-easy-way-to-migrate-sqlite3-to-mysql). -# Tachiyomi Headless +# Tachiyomi Headless :gift: [Tachiyomi](https://github.com/inorichi/tachiyomi/) is a Android application written in Kotlin that scrapes comics from various web sources. A headless version of it would be great to have, replacing @@ -337,7 +339,7 @@ I made a initial working demo recently for the first one, and you can check it a Related: https://github.com/RSS-Bridge/rss-bridge -# Bangalore Events List +# Bangalore Events List :gift: Similar in scope to http://webuild.sg/ or http://engineers.sg/ but for Bangalore. diff --git a/communities-browser-extension.md b/communities-browser-extension.md index 7b7f91c..6a04cbc 100644 --- a/communities-browser-extension.md +++ b/communities-browser-extension.md @@ -1,18 +1,24 @@ +# communities browser extension :gift: + Every community that I meet these days wants to use its own different app to manage things, or alternatively create its own special forum and so on. For instance: -- The dev-s community runs its own Slack channel (which is great) but wants its own discussion forum. -- ReRoll Bangalore has its own WhatsApp/Telegram group (which is great again) but lacks a discussion forum. +- The dev-s community runs its own Slack channel (which is great) but wants its own discussion forum. +- ReRoll Bangalore has its own WhatsApp/Telegram group (which is great again) but lacks a discussion forum. The idea is to make a Chrome/Firefox extension that: -1. lets you create a community (you get a unique id + social links you can give out) -2. lets others submit their identity to the community tracker via the extension. +1. lets you create a community (you get a unique id + social links you can give out) +2. lets others submit their identity to the community tracker via the extension. The extension has the following features: -1. Allows you to add "communities" you belong to -2. Allows you to add your identity handles that you own. So you can specify multiple twitter/reddit/facebook/HN/... accounts that you own -3. Link communities with your identities. So you can share your reddit handle by joining a community. -4. Highlight a community member while browsing the site. So if you are browsing hacker news and have added yourselves to the community listing, you can see other discussions highlighted from other members. \ No newline at end of file +1. Allows you to add "communities" you belong to +2. Allows you to add your identity handles that you own. So you can specify multiple twitter/reddit/facebook/HN/... accounts that you own +3. Link communities with your identities. So you can share your reddit handle by joining a community. +4. Highlight a community member while browsing the site. So if you are browsing hacker news and have added yourselves to the community listing, you can see other discussions highlighted from other members. + +The entire extension lives in browser space and localstorage. The backend just maintains a mapping of community id to profile IDs, which is synced once in a while. A community code might be required to add yourselves to the community. + +This is like Reddit flairs, but flairs only work on a single subreddit, this is intended to work across various discussion forums. diff --git a/mars.md b/mars.md index 69f5f29..ec1608c 100644 --- a/mars.md +++ b/mars.md @@ -1,4 +1,4 @@ -# Mars: Terraform Remote HTTP Backend with End-to-End encryption +# Mars: Terraform Remote HTTP Backend with End-to-End encryption :gift: A fork of , which changes the configuration format to: @@ -15,23 +15,23 @@ The lock/unlock address can be inferred. The service can be made public as well, ## Why -- For casual projects, Terraform Enterprise is too much -- Separate Infrastructure for Terraform State store makes sense -- Not everyone has S3 available -- Just share your UUID and the encryption key with your teammates +- For casual projects, Terraform Enterprise is too much +- Separate Infrastructure for Terraform State store makes sense +- Not everyone has S3 available +- Just share your UUID and the encryption key with your teammates ## Backend Needs to be a public good with restrictions: -1. Reasonable Rate limits -2. File size limits -3. Restrict by terraform-user-agent, because why not -4. Block unencrypted data from being stored +1. Reasonable Rate limits +2. File size limits +3. Restrict by terraform-user-agent, because why not +4. Block unencrypted data from being stored ## Extras -- This needs to be Highly Available if folks are gonna use it -- Use NaCl for crypto -- Support a breakdown into `read_encryption_key` and `write_encryption_key` for key rotation -- The encryption parts can perhaps be merged to upstream \ No newline at end of file +- This needs to be Highly Available if folks are gonna use it +- Use NaCl for crypto +- Support a breakdown into `read_encryption_key` and `write_encryption_key` for key rotation +- The encryption parts can perhaps be merged to upstream diff --git a/yellow-pages.md b/yellow-pages.md index d06a232..a232ce8 100644 --- a/yellow-pages.md +++ b/yellow-pages.md @@ -1,4 +1,4 @@ -# Green/Yellow Pages +# Green/Yellow Pages :gift: A distributed directory for spam reports. @@ -11,8 +11,8 @@ it is a reverse-yellow-pages directory to avoid spam calls. To solve this: -1. You need a way to check a number against a known spam list. -2. You need the check to be as fast as possible. +1. You need a way to check a number against a known spam list. +2. You need the check to be as fast as possible. If you want to beat TrueCaller, this check should be completely offline, to present a significant advantage. @@ -21,12 +21,12 @@ to present a significant advantage. The API has 2 endpoints: -1. Register a number as spam. -2. Check a number and get a YES/NO spam response. +1. Register a number as spam. +2. Check a number and get a YES/NO spam response. ## Spam registration -To prevent abuse, you want the client to do some +To prevent abuse, you want the client to do some proof of work before _each_ submission. Publish a hash of the input number in a ledger. @@ -61,7 +61,7 @@ The above-mentioned ledger is an easy way of ensuring verified sync with any other party that wants to maintain the same data store. -This is not a very robust solution, and an +This is not a very robust solution, and an ideal solution would be to let the client publish on the ledger, and everyone can just pick up from the ledger. @@ -133,7 +133,7 @@ but that doesn't sound like a good idea. However, the mere fact that a phone number is in the ledger isn't -as important as *when* it was added. +as important as _when_ it was added. A client should ideally add a random delay (to the tune of hours) and batch @@ -180,9 +180,9 @@ done in a distributed manner though. # Cost of Computation -- Verification should be fast -- Insertions should be slow -- Client registrations should be costly +- Verification should be fast +- Insertions should be slow +- Client registrations should be costly By costly, I mean the compute price, not monetary. A nice way to equalize this would be to make @@ -196,14 +196,15 @@ there are better ideas, though. # Terms -*Directory*: The actual data store holding a "Yes/No" filter of whether a number is spammy or not. -*Ledger*: A blockchain or ditributed log that maintains any reports. +_Directory_: The actual data store holding a "Yes/No" filter of whether a number is spammy or not. +_Ledger_: A blockchain or ditributed log that maintains any reports. ## References -- You should totally read [Falsehoods Programmers Believe About Phone Numbers](https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md) -- [bitly/dablooms](https://github.com/bitly/dablooms) - an attempt by bitly to solve spam problems with a layered bloom filter which is countable as well -- [scalable bloom filters](https://www.sciencedirect.com/science/article/pii/S0020019006003127) -- [A multi-layer bloom filter for duplicated URL detection](http://ieeexplore.ieee.org/document/5578947/?reload=true) + +- You should totally read [Falsehoods Programmers Believe About Phone Numbers](https://github.com/googlei18n/libphonenumber/blob/master/FALSEHOODS.md) +- [bitly/dablooms](https://github.com/bitly/dablooms) - an attempt by bitly to solve spam problems with a layered bloom filter which is countable as well +- [scalable bloom filters](https://www.sciencedirect.com/science/article/pii/S0020019006003127) +- [A multi-layer bloom filter for duplicated URL detection](http://ieeexplore.ieee.org/document/5578947/?reload=true) [solomon]: https://en.wikipedia.org/wiki/Telephone_numbers_in_the_Solomon_Islands [res]: http://ieeexplore.ieee.org/document/5578947/?reload=true