Skip to content

Commit

Permalink
Marks 🎁 ideas
Browse files Browse the repository at this point in the history
  • Loading branch information
captn3m0 committed Sep 28, 2018
1 parent aa4ee73 commit 55c1ea1
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 42 deletions.
10 changes: 6 additions & 4 deletions README.md
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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.

Expand Down
22 changes: 14 additions & 8 deletions 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.
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 changes: 13 additions & 13 deletions 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:

Expand All @@ -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
35 changes: 18 additions & 17 deletions yellow-pages.md
@@ -1,4 +1,4 @@
# Green/Yellow Pages
# Green/Yellow Pages :gift:

A distributed directory for spam reports.

Expand All @@ -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.
Expand All @@ -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.

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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

0 comments on commit 55c1ea1

Please sign in to comment.