98th Monthly Technical Session

Taizo Ito
henngeblog
Published in
6 min readOct 28, 2022

HENNGE holds a “Monthly Technical Session” that we usually call “MTS” every month. It’s a small technical conference where we share our knowledge and ideas with our peers. In a session, several HENNGE members who are not only from the development team but also other teams give a talk related to mainly technical topics.

On September 16th, 2022, we had our 98th session. Because the COVID-19 situation in Tokyo got better, this session was a hybrid remote and on-site talk done via Zoom and in the HENNGE office in Shibuya. This time, we had seven speakers, including 3 interns.

Introductions
Before we proceeded to the talks from speakers, our MC, Rob introduced new members to the company: Furqan Habibi, Nicholas Dwiarto, Nicholaus Yosodipuro, Afan Ahmed, and Thitat Auareesuksakul. The last 3 members were interns and gave a talk this evening.

To Join or Not to Join? Analysis of Historical HENNGE ESOP Returns Using Python by Sau Yee

The first presentation was given by Sau Yee. She used to be a financial analyst. This talk was about “money” but she mentioned beforehand that it was not related to financial advice. Firstly, she explained what ESOP is and how it works, and showed a comparison table to see the difference between plans in Japan and US. Our company provides ESOP (Employee Stock Ownership Plans), but it’s not mandatory for employees. So, for us to decide whether to join or not to join ESOP, she explained one of the technical methods for analyzing data for the decision. The method uses ROI(Return on Investment) for the evaluation framework and maximizing ROI will be our goal. She showed several strategies for buying/holding/selling stock to see which case is likely to be the best to achieve the goal.

ReactiveX by Mark Liwanag

Mark gave a brief introduction to ReactiveX which is an open-source library built by Microsoft. It’s available in many languages. This time he was focusing on RxJS that is the Reactive Extensions Library for JavaScript.
Asynchronous programming is always complicated. Regarding code syntax, it’s hard to read. Hard to scale, as well. ReactiveX can avoid these complication problems. React has a context API thing that is really cool but cannot solve all of those problems. Talking about React programming, Observable is a primitive data type. Mark showed some simple RxJS source codes to explain Operators like “reduce” and “filter”. And also showed actual UI/UX examples of how he use it in his project.

A Mysterious Language Hidden Within HAC: Shobolang by Jonas Obrist

The 3rd talk of the night was given by Jonas Obrist. The title is “A Mysterious Language Hidden Within HAC: Shobolang”. HAC is an abbreviation for HENNGE Access Control which is one of our HENNGE One products. If you’d like to build a new thing, in this case, a new language, we have to find out what’s the problem and trouble the language tries to solve. To explain a way to find the problem, he showed several “Yes or No questions” in HAC. The answer to those questions depends on the context. In the HAC case, those should be client IP, User-Agent, Time/Date, etc. Then, he briefly introduced Shobolang specification and features: Building Blocks(Constants, Not, Groups, Filters, Macros).

Extend Your Network Anywhere Easily With Tailscale by JJ

In the 4th talk of the evening, JJ gave an introduction to his practical example regarding home networks. He recently bought a new device called “nasne” made by Buffalo Inc. because he wanted to watch live TV and stream recorded TV shows anywhere even outside the local network(works if everything is configured correctly), but he couldn’t at the beginning because of the way his apartment’s Internet setup. The “nasne” requires Universal Plug and Play enabled but it cannot be enabled on his apartment’s Internet.
He was considering setting up VPNs but gave up the idea because of its complicated structure. After that, he finally discovered a simpler solution — Tailscale. The service allows you to create a secure network between your servers and cloud instances. And he explained the final setup with Tailscale network and RasberryPI.

Simulating Cooperative Autonomous Driving with OpenCDA by Nicholaus

The fifth talk of the night by Nicholaus was titled “Simulating Cooperative Autonomous Driving”. Firstly, he briefly explained Cooperative Autonomous Driving(CAD). Simply defined, CAD is the technology that enables autonomous vehicles to “talk” with one another.
It’s important for us because CAD eliminates blind spots that can be dangerous. With CAD, information regarding surroundings will be shared to coordinate velocities between vehicles. He listed up some existing driving simulators for AD and also explained the current issues with these existing AD simulators, for example, no native support for CAD. Simulating CAD with OpenCDA achieves out-of-the-box support for both AD and vehicle networking. But OpenCDA still has issues like No UI, slow performance, etc.

Critical Rending Path by Afan Ahmed

In the 6th talk of today, Afan gave an introduction to “Critical Rending Path”. The Critical Rending Path is the sequence of steps the web browser goes through to convert the HTML, CSS and Javascript into pixels on the web screen. It will give a better user experience to end users by some optimization mechanism. Optimizations are done with “Async/defer Javascript files”, “Minifying/compressing resources”, “Lazy loading images and dynamic imports”, “Skelton loading” etc. He showed one of the examples in “Skelton loading” on Google Drive web console.

The Perfect Tunnel by Thitat

The final talk of the night by Thitat was titled “The Perfect Tunnel”. This talk was all about VPN tunnel. There are several reasons why we want VPN. Those are “Avoid Geo-restriction”, “Bypass ISP’s QOS rules”, “Circumvent Censorship”, “Avoid privacy leakage” and “Access to home servers”. He also listed up his check items when he consider the perfect VPN service — Network speed, Supported regions, Integration with my network, IPv6 support, but currently there’s no VPN having globally routed IPv6. If you want to use VPN with globally routed IPv6, you have to prepare it on your own. So, he explained what’s the “Ingredients” for setting up IPv6 VPN server.

Closing the session

After finishing all the presentations, there was the customary request to participate in the post-talk survey. Following this, as usual, we had Beer Bash🍻.

--

--

Taizo Ito
henngeblog
0 Followers
Writer for

Currently a Software Engineer at HENNGE.