This is a recent paper (published August 2020) talking about the problem of benchmarking code on Android platform. Benchmarking allows us to gather data in regard to how our software is performing as well as potential opportunities for additional optimization. The author mentions how benchmarking on Android poses unique challenges. Android is built on top of Linux OS. Application code is typically written in Java (and now more recently potentially in Kotlin). Android also does allow Native code (C/C++) to be written and then it can be referenced in Java through the JNI. There are few challenges that come into play when benchmarking on Android: there could be other processes & apps running in the background that could skew results, processor frequency which can be updated (for example due to power constraints), temperature (temperature throttling), and processor affinity. In the case of processor frequency, there are two separate governors for CPU and GPU. Temperature can impact processor and memory frequency, since the frequency may be reduced by the governors to cool the device. This means that even the ambient temperature which the device is in can impact test results. The author observed sometimes cores being shut down due to this thermal throttling. One thing that I learned from this paper about Android is the concept of processor affinity and how it impacts performance. The author mentioned that modern architecture is built around Arm’s big/little multicore CPU. This architecture consists of having two processors with one that is more performant than the author (hence the name big/little). This means that the performance of the code will be impacted by which processor it runs on.
The author introduces a framework they have developed called ‘Rancid’, which can be used to mitigate some of the issues outlined earlier when benchmarking Android code. For me, the greatest take away from this paper was the additional understanding it gave me when it comes to Android code optimization and how things such as background processes, processor frequency, processor affinity and temperature impact it. I chose to read this paper because Android continues to grow in influence as a mobile operating system. The mobile space itself does not show any signs of slowing down. Learning Android deeply is a valuable asset to have.
I tried searching for ‘Rancid Android framework’ to find the website where it can be downloaded, however the only results that came up were references to the paper. So it seems as though the authors have not yet released this framework for public consumption. It would be interesting to play around with this framework to get a better sense of how it works and perhaps eventually it can be incorporated into developer’s standard toolchain when developing on Android.
For me, this was a very interesting talk by Jack Tang (former UW EE alum) who was Director of Verizon’s Innovation Center at the time of recording. I am interested in entrepreneurship and tech innovation in general so I found this talk enjoyable to watch. For one, it made me further appreciate Verizon as a company. Prior to this, I did not know that Verizon is a relatively young company (founded in 2000), with headquarters in New York, has over 175k employees, yearly revenue on the order of $120B and growing 5-8% annually.
Verizon Innovation Center is a program that entrepreneurs, and companies can take advantage of where they can consult with experts from Verizon and utilize some of Verizon’s own testing labs & services to help facilitate in bringing their products to market. Verizon can also play the role of matchmaker where they can connect companies for their mutual benefit. The interesting thing here is that Verizon has committed to not taking any intellectual property or ownership claim from these companies in the context of their collaboration. Verizon’s long term hope is that the companies eventually do use Verizon services and products for their companies but Verizon does not require this. There are two Verizon Innovation Centers currently: one in San Francisco, California and the other in Boston, Massachusetts.
Jack Tang recognized the following growth trends in his talk: Connecting Computers (originally led by AOL through providing internet to folks in 1995), Connecting Information (led by Google and Wikipedia in 2000), Connecting Expressions (led by Youtube in 2005), Connecting People and Activities (led by social networks such as LinkedIn, Facebook and Yelp) and the next subsequent trend to be Connecting Everything Intelligently (such as cars, devices, trees, trash cans, houses, etc.). The last trend is where Jack Tang believes Verizon is well positioned to continue to innovate and help companies and entrepreneurs accelerate. Verizon has helped build solutions in a wide array of domains such as Smart Grid, Broadcast Audio, Education, Healthcare, Network Access and Entertainment. I do agree with this trend that Jack illustrates and I believe that this democratization of being able to build internet access in devices is a very powerful driver for innovation in the IOT space.
Another observation I made is that looking at the website for Verizon’s Innovation Center is that they also seem to offer cloud services. One of the areas they are proving service for is in video streaming, which can help facilitate live streaming of content. This area seems to somewhat overlap with other cloud providers such AWS, which also has similar offering through Elemental suite of services (called AWS Elemental MediaLive).
“Wow just wow “is my reaction to just having finished listening to this book on Audible. Prior to going through this book, I had seen articles about Alex years before, and was impressed by what he was achieving at such a young age. Upon completing the book, I am feeling more inspired and determined to pursue my goals. Not going to summarize the book here, but I definitely do recommend you check it out if you have big aspirations for your life. Entrepreneurs, dreamers, and anyone else either starting out or early in their career will definitely benefit from this book. 😀
Maria Klawe presents the problem of gender diversity in Computer Science programs – namely the underrepresentation of women. Maria talks about her endeavor as School President at Harvey Mudd College in bringing female representation in CS from 10% to 40% in three years. This is a very important problem as this underrepresentation also carries forward in the industry. Some of the things that the CS department did was to adapt the introductory course to make it more application focused (switched from Java to approaches to problem-solving in Python), eliminated student macho behavior by segmenting into groups based on prior experience, took first-year female students to Hopper conference and provided summer research experiences to females between first & second year. I enjoyed this talk. The concepts presented here are applicable to anyone trying to foster an inclusive workforce.
Notes from the talk:
Why so few enter CS
- Females think CS is less interesting than other areas
- Females think they will not do as well in CS as in other areas
- Females (and males) encouraged to major in what interests them and what they are good at.
Why some leave CS
- Lack of confidence
- Lack of sense of belonging
The Harvey Mudd College Story
- Undergrad only
- 750 students
- 90 faculty, seven departments
- Science and engineering
- Every student takes a CS course in their first semester
Female students at HMC over all:
- 22% in 1997
- 32% in 2006
- 45% in 2012
- Entering class in 2012 was 47.5% female
Female faculty at HMC over all:
- About 20% in 1997
- 35% in 2006
- 42% in 2010
What the CS department did...
- Changed the intro course
- Eliminated student macho behavior
- Took first year females to Hopper
- Provided summer research experiences between first and second year
Changing the intro course
- Old course: learning to program in Java
- New course: team-based computational approaches to problem-solving using Python
- Grouping by prior experience
- CS 5 gold, CS 5 black, CS 43
- Elimination of macho behavior for CS 5 and CS 60
What carries over to the other institutions
- Make intro courses the most fun ever
- Eliminate macho behavior
- Build confidence
-- Team projects
-- Assignments in labs
- Take students to Hopper
-- Hold a local Impostor panel
- Offer females summer research experiences
- Recruit biology, chemistry, psychology majors into CS
-- Double majors, joint courses
As some people would know, in the past I’ve had various online presence with varying degrees of success. Some were even sold, but that is for another story. I’m thinking I want to get back in the groove of publishing something here from time to time. Blogs I feel provide good canvas to express your ideas and creativity, without the need to chase for “likes”.