Android Custom Views: Creating an Animated Pie Chart from Scratch (Part 1 of 4)

by

Introduction to Part 1

This post is the first in a four-part series on creating Android custom views, and covers a few introductory topics, including: how to decide if a custom view is the best solution to your problem, the three basic methods for creating a custom view, and the required constructors you’ll need to implement when subclassing the View class.

Machine Learning and CoreML

by

“WHAT THE HECK?! HOW CAN I UNLOCK MY PHONE WITH MY FACE?!”

Those were the words that came out of my mouth in October of 2017, as I pored over the user manual for my new iPhone X. It wasn’t all hyperbole, either — I really wanted to know, and I ended up dedicating quite a bit of time to learning about the science behind Apple’s new facial recognition technology. In the end, the answer to my question boiled down to two words — machine learning.

Fear and Empathy in Design

by

Last Christmas, I had a minor family tech crisis (we’ve all had those, right)? I was visiting my parents, and my mom asked me to AirDrop some photos from my iPhone to hers. I’ve AirDropped photos probably a hundred times, but this time, for some reason, it didn’t work. My phone showed the photos as “sent”, but they weren’t appearing on my mom’s phone.

Writing reliable, efficient code with Rust

by

Recently, I’ve begun tackling a few projects in Rust, an open-source programming language designed to maximize software reliability and efficiency. Rust is used by a lot of big names — including Mozilla, Cloudflare, Dropbox, AWS, Google, MS, and Yelp — and was the #1 “most loved language” in StackOverflow’s 2018 Developer Survey.

In this post, I’ll share a bit of my experience using Rust; I’ll also talk through the language’s benefits and recommended applications.

What is the California Consumer Privacy Act?

by

In 2018, the California legislature passed the California Consumer Privacy Act (CCPA).  Set to go into effect in 2020, the CCPA arose out of a compromise between legislators, privacy advocates, and a California businessman who had proposed his own ballot measure.  How the CCPA came to be is a very interesting story – I encourage you to read more about it.  

What is the CCPA?

In a nutshell, the CCPA is a law that gives all California residents the right to access any data that companies collect about them, know how their data is used, and exercise control over whether and when their data is collected.  

Using Headless Chrome to Detect XSS Vulnerabilities

by

What are XSS vulnerabilities?

Cross-site scripting vulnerabilities, commonly referred to as “XSS” vulnerabilities, allow a third-party attacker to run arbitrary Javascript on a website. XSS vulnerabilities might allow a website to be used for crypto mining, for example, or could allow an attacker to steal auth tokens and other sensitive information.

A Brief Introduction To Quantitative Finance

by

Interest in the stock market has never seen such diversity as it has in recent years. Technologies have extended interest to a range of demographics that previously did not give much thought into investing and the public markets. Instead of requiring large account balances, persistent fees and unintuitive interfaces, digital first brokerages like Robinhood have proliferated access to the markets in a manner never before seen. Modern “robo-advisors”, like Wealthfront, provide easy access to financial advice to those who would previously not seek it, and micro-investing apps like Acorns make investing a passive, but profitable experience. While these solutions work great for those just getting started in the public markets, how do investment firms with billions of dollars on the line find appropriate investments?

Motion & UX Design

by

In recent years I have noticed mobile and web apps starting to include motion design in their user experiences. One example of this is Facebook reactions. Instead of the reactions instantly appearing on hover, they gradually appear to the user’s eye and animate to help the user further understand and choose their reaction. If the user hovers over a certain reaction it becomes larger to help signify to the user that that reaction will be the one they choose if the click or tap on it. The motion being used here keeps the user engaged in the app and is included in a meaningful and playful way.