Google’s S2, geometry on the sphere, cells and Hilbert curve
An informative introduction on how Google leverages geometry concepts like Hilbert curves in their famous S2 library that offers spatial indexing capabilities tuned for performance and correctness. Python code examples included.
https://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/
Hilbert curves introduction:
https://datagenetics.com/blog/march22013/index.html
#algorithms #math #geometry #python #performance #geo #fencing #spatial #index #s2 #rtree #quadtree #google
đź’» The byte is not enough
An informative introduction on how Google leverages geometry concepts like Hilbert curves in their famous S2 library that offers spatial indexing capabilities tuned for performance and correctness. Python code examples included.
https://blog.christianperone.com/2015/08/googles-s2-geometry-on-the-sphere-cells-and-hilbert-curve/
Hilbert curves introduction:
https://datagenetics.com/blog/march22013/index.html
#algorithms #math #geometry #python #performance #geo #fencing #spatial #index #s2 #rtree #quadtree #google
đź’» The byte is not enough
Christianperone
Google’s S2, geometry on the sphere, cells and Hilbert curve | Terra Incognita
Update - 05 Dec 2017: Google just announced that it will be commited to the development of a new released version of the S2 library, amazing news, repository can be found here. Google's S2 library is a real treasure, not only due to its capabilities for spatial…
Understanding Lamport Timestamps with Python’s multiprocessing library
A brief introduction into Lamport Timestamps and its implementation known as Vector Clocks that helps to distinguish casual ordering between events. Python code examples included.
https://towardsdatascience.com/understanding-lamport-timestamps-with-pythons-multiprocessing-library-12a6427881c6
#algorithms #systemdesign #distributed #ordering #clocks #vector #logical #python #research #paper #lamport #casualordering #synchronization #partial #concurrent #timestamps
đź’» The byte is not enough
A brief introduction into Lamport Timestamps and its implementation known as Vector Clocks that helps to distinguish casual ordering between events. Python code examples included.
https://towardsdatascience.com/understanding-lamport-timestamps-with-pythons-multiprocessing-library-12a6427881c6
#algorithms #systemdesign #distributed #ordering #clocks #vector #logical #python #research #paper #lamport #casualordering #synchronization #partial #concurrent #timestamps
đź’» The byte is not enough
Medium
Understanding Lamport Timestamps with Python’s multiprocessing library
Everyone who has been working with distributed systems or logs from such a systems, has directly or indirectly encountered Lamport…
đź’ˇ System Design Interview: Online Judge with Data Modelling
A good system design question can be to design an online coding challenge judge.
Problem: A coding challenge is a competition where a set of coding questions gets released for a period of few hours/days and a list of pre-registered competitors participate by solving these questions and submitting the solutions which gets run against some hidden test cases and competitors are scored based on the test results. A platform hosting such challenges is called an online judge. ex: SPOJ, topcoder etc.
https://medium.com/@saisandeepmopuri/system-design-online-judge-with-data-modelling-40cb2b53bfeb
#systemdesign #sdi #design #infrastructure #onlinejudge #interview #prep #SPOJ #topcoder #modeling #estimation #python
đź’» The byte is not enough
A good system design question can be to design an online coding challenge judge.
Problem: A coding challenge is a competition where a set of coding questions gets released for a period of few hours/days and a list of pre-registered competitors participate by solving these questions and submitting the solutions which gets run against some hidden test cases and competitors are scored based on the test results. A platform hosting such challenges is called an online judge. ex: SPOJ, topcoder etc.
https://medium.com/@saisandeepmopuri/system-design-online-judge-with-data-modelling-40cb2b53bfeb
#systemdesign #sdi #design #infrastructure #onlinejudge #interview #prep #SPOJ #topcoder #modeling #estimation #python
đź’» The byte is not enough
Medium
System Design — Online Judge with Data Modelling
A good system design question can be to design an online coding challenge judge.
đź’ˇ System Design Interview: Rate limiter and Data modelling
More often than not, the design interview rounds start with basic questions such as “design a rate limiter” or “design a circuit breaker” and can go to much more depth based on your experience. The questions posed can be to design an existing technology or any specific use case of the company you’re interviewing for. Sometimes these questions get asked in telephonic screening which is an elimination round and decides whether a person’s candidature should be taken forward or not; Along with the design, one might be asked for data model to the solution or even code it up.
https://medium.com/@saisandeepmopuri/system-design-rate-limiter-and-data-modelling-9304b0d18250
And, blast from the past, Cloudlfare's story on building rate limiter capable of scaling to millions of domains:
https://blog.cloudflare.com/counting-things-a-lot-of-different-things/
#systemdesign #design #infrastructure #ratelimiter #performance #scalability #cloudflare #python #sdi #estimation #algorithms
đź’» The byte is not enough
More often than not, the design interview rounds start with basic questions such as “design a rate limiter” or “design a circuit breaker” and can go to much more depth based on your experience. The questions posed can be to design an existing technology or any specific use case of the company you’re interviewing for. Sometimes these questions get asked in telephonic screening which is an elimination round and decides whether a person’s candidature should be taken forward or not; Along with the design, one might be asked for data model to the solution or even code it up.
https://medium.com/@saisandeepmopuri/system-design-rate-limiter-and-data-modelling-9304b0d18250
And, blast from the past, Cloudlfare's story on building rate limiter capable of scaling to millions of domains:
https://blog.cloudflare.com/counting-things-a-lot-of-different-things/
#systemdesign #design #infrastructure #ratelimiter #performance #scalability #cloudflare #python #sdi #estimation #algorithms
đź’» The byte is not enough
Medium
System Design — Rate limiter and Data modelling
More often than not, the design interview rounds start with basic questions such as “design a rate limiter” or “design a circuit breaker”…