anuragbiyani
Joined 14 years ago
Joined 14 years ago
> That's right! Every file you've ever created, or anyone else has created or will create! Copyright infringement? It's just a few digits of π! They were always there!
But yes, after you mentioned it, I see that the conjecture disclaimer is mentioned in a section at top ("What does π have to do with my data?") and afterwards the fact is assumed as true in rest of the README.
In fact it's not even proven that every digit occurs infinitely many times in the decimal expansion of Pi. [4]
So https://github.com/philipl/pifs is wrong in claiming that all byte stream will exist somewhere in Pi (it's not proven). Also it's worth calling out that even if Pi was Normal it will likely take more space to store the indices of two location as it will for original data itself (for at least majority of the integers), so it's not much of a "compression" strictly speaking. It's easy to see how this will work out for a known normal number - Champernowne's constant [3] -> Unlike Pi, Champernowne's constant is guaranteed to contain all the possible natural number sequences, but storing just the starting index of them in this constant is going to take much longer than the entire number itself (e.g., number "11" start at index 12 (1-indexing), number "12" starts at index 14, and so on - the size of index increases much faster than integer being looked up itself).
[1] https://mathworld.wolfram.com/NormalNumber.html
[2] https://math.stackexchange.com/a/216578
[3] Champernowne's constant (in base 10) is the concatenation of all positive integers and treating them as the decimal expansion (following "0."): 0.12345678910111213... It can be trivially seen that it contains all natural number strings. It is also proven to be Normal in base 10 (which is a stronger property). See https://en.wikipedia.org/wiki/Champernowne_constant for details.
[4] https://en.wikipedia.org/wiki/Normal_number#Properties_and_e...
There are more people using WhatsApp in India (thanks to popularity of image/video/voice-messages) than who can actually read or have usable Bank accounts. If you think they can pay "$1" for something they can get for free (and have been using for free in past), then you are completely out of touch of reality. Apart from the amount (which is not trivial btw), there is no concept of digital payment for masses.
Also I know it's hard for HN crowd to understand, but the concept of paying to protect "Privacy" is completely foreign for majority of the users in the world. I can guarantee you majority of the users (at least in India) will happily let you track them, show targeted ads at them, give you all the personal details you need, heck even give your their Genome for for free without even blinking an eyelid. And I am not saying this is just because of ignorance on their part, but rather "Who cares if they track me" - I get free services in return.
And this is actually not a bad setup really (again I know HN crowd will get their pitchforks out at it): Show Ads to provide actual free services (like WhatsApp, Google search, Maps, etc) to the masses. It's much better IMO then charging for these services and never have the masses be able to use them (like "GPS" would be a premium service for rich people).
Disclaimer: All opinions expressed are mine and only mine and have no connection to my employer (Google).
So adding forced subscription is a definite death sentence for WhatsApp. Also remember that even if everyone of the 1B people did pay $1 for the service, it will still be impossible for FB to recoup $19B it purchased WhatsApp for.
On the other hand, I would love a "Ad-free" mode for people who are willing to pay (like YT Premium), and ads to support other 99.xx%.
If you are splitting strings (from output of `ls -l` presumably) for such tasks, then definitely take a look at find.
"A Tour of C++" (also by Bjarne) is a quick overview of the language (including C++11 changes): http://www.stroustrup.com/Tour.html
Another very useful resources is the FAQs from "Standard C++ Foundation": https://isocpp.org/faq
I think you are talking about Column E (Privacy->Logging->Activity->"DNS Requests") ? Since it falls under "Logging", you want it to be Red for YES & Green for NO (you don't want your VPN provider to log DNS Requests, etc). You will notice that everything within the "Logging" columns (Col D-H) follow this color coding, whereas for Col J-M (which are still under "Privacy", but the subsection is "Activism") it's opposite.
Full disclosure: I work at Google (not on the Photos product though). All opinions expressed are purely mine, and not of my employer.
"Greater metropolitan area" is a way of saying that Babai's proposed algorithm while not exactly in PTIME, is still very close. Indeed, in a certain sense it is now "closer" to PTIME than EXPTIME.
In addition to what others have mentioned, here are some example resources you might prefer for a beginner-intermediate level intro:
1. (free online) Algorithms by Dasgupta, Papadimitriou, and Vazirani http://algorithmics.lsi.upc.edu/docs/Dasgupta-Papadimitriou-...
2. (free online) Algorithms by Jeff Erickson https://jeffe.cs.illinois.edu/teaching/algorithms/
3. Algorithm design by Kleinberg & Tardos https://www.amazon.com/Algorithm-Design-Jon-Kleinberg/dp/032...
4. Another one specifically for more applied view (esp., how they are used in programming contests such as ICPC) is Skiena & Revilla's "Programming Challenges" book (https://www.amazon.com/Programming-Challenges-Contest-Traini...). Note that this is different than Skiena's other popular book (Algorithm Design manual) which is also pretty good and has a "war story" based perspective to design of algorithms.
5. There are also several resources where lecture notes from university Algorithm & DS courses are very useful. Here is an example from my previous Professor, David Kempe: http://david-kempe.com/teaching/DataStructures.pdf
6. Several programming competition specific tutorials can be found on Topcoder: https://www.topcoder.com/thrive/tracks?track=Competitive%20P... (individual SRM archives are also good place to try problems first hand and then learn from other's approach). In general, if you search for ACM-ICPC resources, you will find a lot more targeted information/problems which will apply not only for leetcode, but also for detailed understanding of the theory too.