mirror of https://github.com/captn3m0/ideas.git
Marks 🎁 ideas
This commit is contained in:
parent
aa4ee73e04
commit
55c1ea1b59
10
README.md
10
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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
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.
|
||||
|
|
26
mars.md
26
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 <https://www.terraform.io/docs/backends/types/http.html>, 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
|
||||
- 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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue