Glance puts content on the lock screens of millions of phones. A lot of that content is news, and that comes from many publishers who post to Glance. Stories need images, which at Glance means wallpapers. Most publisher images wouldn’t fit the high quality and size requirements of full-screen wallpaper. Even if they did, we probably don’t have permission to use them. And most stories…
Principal Component Analysis (PCA) is an algorithm that I first learnt in a pattern recognition class in college. I understood the motivation and how to use it, but never really understood why we do what we do in PCA. We compute some big matrix then do singular value decomposition on it and then filter out some of the components. Why? What does that actually mean? What are we doing to the data?…
One fine day, I sat down to optimize the size of a Docker image. Like many times before, I opted for distroless images as my base, a choice I had made countless times before without a hitch. Distroless images, for the uninitiated, are peak minimalism, containing only the essential libraries and binaries required to run the application. Not only do they trim the fat off the image size, but they…
Configurations are a crucial aspect of any software project. There are many sources of configurations, such as environment variables, configuration files, and command-line arguments. For file-based configurations in python, YAML and TOML (or INI) are popular choices. I prefer YAML, though it is not without flaws, some of which can be addressed by Pydantic anyway like type safety etc. Pydantic is a…
As one of my works at Mu Sigma Labs , I was part of a research project on the High Velocity Time Series on early 2019. One of the goals was to create a high velocity trading app using Pair Trading. The Requisite terms Long and Short trades Long trades are buying a security . Short is selling a security even when you don’t own it. It generally means that you are borrowing someone’s…
Serving recommendation to 200+ millions of users for thousands of candidates with less than 100ms is hard but doing that in Python is harder . Why not add some compiled spice to it to make it faster? Using Cython you can add C++ components to your Python code. Isn’t all machine learning and statistics libraries already written in C and Cython to make them super fast? Yes. But there’s…
So the ask is to do 3 Million Predictions per second with as little resources as possible. Thankfully its one of the simpler model of Recommendation systems, Multi Armed Bandit(MAB). Multi Armed bandit usually involves sampling from distribution like Beta Distribution . That’s where the most time is spent. If we can concurrently do as many sampling as we can, we’ll use the resources…
All the text and images on this site is licensed under Creative Commons Attribution 4.0 International License . All the code snippets are licensed under MIT Other Open Source Licenses This site uses other opensource projects which have their own licenses. Refer Hugo and PaperMod
Business Process Model and Notation (BPMN) is a graphical notation standard for business processes. Think of it as a flowchart for business processes. It is widely used in the industry for modeling business processes. Now, why would you use BPMN for automating / pipelining? We don’t use UML for writing software right? Yes, but BPMN’s adoption for automation and pipelining stemmed from…