78th Monthly Technical Session
Monthly Technical Session (MTS) is HENNGE’s mini-conference. As the name implies, MTS is held monthly and its talks are (mostly) about technology.
Since most of our members are working from home, the 78th MTS was held online on January 22nd, 2021.
“Reinforcement Learning in Practice” by Yuri
Reinforcement Learning (RL) dates back to the 1980s, but has been experiencing a sudden rise in popularity thanks to improvements in computational power and the availability of neural networks.
While supervised learning depends on a big dataset to train the neural network, reinforcement learning works without a dataset - as long as the task has a defined good outcome. RL algorithm can then be trained to maximize the reward/good outcome.
Nowadays, various frameworks are available to implement RL. This includes higher-level frameworks like ReAgent and acme, and also lower-level frameworks such as PyTorch and TensorFlow. In order to define the task to be solved using RL, there is a widely used open-source library from OpenAI called Gym. The Gym’s interface is supported by most RL frameworks.
Yuri concludes that Reinforcement Learning has become more accessible than ever, with many frameworks to choose from and the advantage of not having to provide datasets.
“Production Readiness Checklist for New Product” by Doi
When building a new product, speed matters a lot. Because the actual value of the new product is not yet known, it’s important to build quickly to prove the product’s value as soon as possible. However, security-related red flags have been discovered within the development of new products in HENNGE.
While security matters in any company, HENNGE is a company that specializes in cloud security. In the world of security, customer’s trust is built over a long period. One security problem can ruin customer’s trust more than usual.
In order to provide a baseline of security, the Production Readiness Checklist (PRC) for AWS is created as a guideline for the development of new products. PRC is built upon best practices in AWS which have been learned in the company over the years. Azure and GCP versions are currently being prepared. It contains a to-do list of tasks that has to be done to provide good security. As a very minimum requirement, leakage of customer’s Personally Identifiable Information (PII) must be avoided in any case, even for a prototype.
However, doing all the tasks will take a lot of effort and leads to slower development of the main product. There needs to be a balance between speed and security. Therefore, PRC defines “phases” of development, with corresponding security to-dos for each phase. While it might seem restricting, it is hoped that PRC can give a clearer view of what is needed in terms of security, and allows developers to focus more on the development of the product itself.
“Virtual Youtuber 102” by Bagus
Bagus decided to make “Let’s Play” videos as a quarantine project. However, since he doesn’t have the confidence to show his face on his videos, he decided to become a virtual Youtuber instead. To become a virtual Youtuber there are three steps: avatar creation, motion capture, and video streaming.
For the first two steps, Bagus decided to use Memoji in iPhone, which allows you to create an avatar that can be used in FaceTime or other apps as an overlay or filter. To stream the videos, Bagus used OBS Studio which can also record video to be uploaded later, or used as a virtual camera to feed the video to other apps such as Zoom. The disadvantage of using Memoji is that it doesn’t work well when facing sideways. The avatar will simply disappear and show the streamer’s face.
“A Tour of Open Source Conferences in Taiwan” by Daniel
Daniel introduced us to open source conferences in Taiwan. The biggest is COSCUP (Conference for Open Source Coders, Users, and Promoters) which is usually held in Taipei. The second one is MOPCON, which is geared more to mobile technologies and held in southern Taiwan. There is also PyConTW for Python community in Taiwan. HENNGE participated as a sponsor at PyConTW in 2014–2015, as well as COSCUP 2016. Thanks to the success of Taiwan in handling COVID-19, the conferences could be held physically in 2020.
For students, the biggest one is SITCON. Daniel talked about his experience at SITCON 2018 where he became a speaker, talking about an internet radio station that he developed. Other than the talks, there were also goods such as T-shirts and also free food.
“Load Testing Using K6” by Yoel
Load testing is a test to understand an application’s performance and behavior under a certain level of load. To conduct a load test, traffic is generated using a tool to put the application under load. K6 is one such tool that can be used for load testing. It is available as an open-source command-line tool, and also as a managed service.
In K6, there are two features that are useful for load testing which is Metrics and Check & Threshold. For Metrics, various information can be collected during testing, such as response time. It is also possible to define custom metrics. With Check & Threshold, it is possible to define what kind of response will be considered as passing the test. The threshold can be set to a certain level, meaning that a test will not completely fail if there is a single failure. Instead, if the success rate passes the threshold, the test will be accepted as successful.
“Revisiting Common Coding Principles” by Asif
In the world of programming, there are common coding principles that are often used by programmers. In his talk, Asif reintroduced some of the coding principles and talk about how it relates to his real-life experiences.
The first principle is KISS (Keep It Simple Stupid). Asif talked about how he solved the problem of needing to go to the toilet while waiting for a Dota match. If a match invitation came and a player didn’t respond, a penalty will be given to that player, so Asif has to find a way to respond when he’s away. He thought about connecting his phone to his computer so that he can respond but eventually decided on a simpler solution, which is just having a program to click the enter button periodically.
The next one is YAGNI (You Ain’t Gonna Need It). There are times when programmers overthink and add things into the code that might be needed in the future. In real life, Asif talked about how he bought a watch just to check the time when taking a test, not realizing that there was a clock inside the class.
The last principle is DRY (Don’t Repeat Yourself). In programming terms, it means sharing a common function instead of copying the same code in many places. In real life, Asif told a story about how his mom often asked him to edit some pictures for her. Asif eventually decided to teach his mom how to do it herself, greatly saving his time.
“With Great Financial Mindset Comes Great Opportunity” by Rika
Rika talked about the importance of financial literacy. She talked about how she thought that she understood finance and have a good income. However, she realized that she knew nothing and that the amount of money that you can save is more important than the amount of money that you can earn.
She stumbled upon a book called Rich Dad Poor Dad by Robert T. Kiyosaki. While she admitted the book has been criticized, she found it helpful in understanding financial literacy. One of the ideas that she got from the book is about managing risk, instead of avoiding risk, when it comes to money. She is preparing her 10-year financial plan and aims to achieve financial independence at the age of 30.
After MTS, we had the usual Beer Bash via Zoom!