73rd Monthly Technical Session

Sean Li
henngeblog
Published in
12 min readMar 26, 2021

Monthly Technical Session (MTS) is HENNGE’s mini-conference. As the name suggests, MTS is held monthly and its talks are (usually) about technology.

Our 73rd session was held online on August 21st, 2020.

An Oversimplified Explanation on Business Valuation by Ogura

Our CEO, Kazuhiro Ogura, kicked off the conference with an ambitious presentation spanning 74 slides in 15 minutes. The topic was an introduction to how companies are valued and how traditional valuations might not be appropriate for SaaS companies, including HENNGE.

He began by giving a simplified explanation of stocks, along with the definitions of a couple of words that are used to describe the market value of a company — market capitalization and enterprise value (EV)— before moving onto some valuation methods.

The first of these valuation methods was the price-to-book ratio (PBR, P/B ratio.) A PBR of greater than 1.0 indicates an expectation that a company is worth more than its current assets and/or will grow in value in the future. He gave the example of Cisco and Nintendo as two companies with a PBR greater than 1.0.

On the other hand, a company with a PBR of less than 1.0 is valued at less than the value of its current assets and may suggest that the current assets are overrated in terms of future value. Ogura gave the example of JR East as a company with a PBR of less than 1.0 at the time, with this probably being due to the negative impacts of COVID-19 on the travel industry.

Next up was the price-earnings ratio (PER, P/E ratio.) Roughly speaking, this is the time it takes for a company’s stock price to double. The implication of a higher PER is that the company will continue to grow for a long time, while a low PER may indicate a lack of confidence in future growth. However, investing in a company with a greater PER also comes with greater risk, as the payback period is longer and the world is constantly changing.

The historical average PER for all companies on the S&P 500 stock market index is around 19.4. Ogura referred back to Cisco and Nintendo to show us their PERs, which were 18.72 and 21.63 respectively — examples of some standard PER values. This is where he tied his presentation into SaaS companies.

Our company HENNGE, had a PER of ~691 at the time of the presentation. Other examples given were Zoom, with a PER of ~1576 and Slack, with a PER that cannot be calculated! So what is going on with SaaS companies? They either have extremely high PERs or negative PERs. Other than this, they also have high PBRs.

Ogura explained that these valuation methods are probably not the right way to value SaaS companies — they use book values and earnings in their calculations and don’t take into account how business works for companies based on subscription services, which are usually very focused on growth regardless of high costs.

Ogura gives an analogy to understanding SaaS pricing

He introduced a couple of newer, similar valuation methods that may be more suitable for SaaS companies — the prices-to-sales ratio (PSR) and enterprise value-to-sales (EV/Sales). These roughly equate to how many years of sales are equal to the company’s potential value. HENNGE has a PSR of 24.6, and a lot of SaaS companies fall in the range of 20–40.

Ogura concluded by saying that although not perfect, PSR and EV/Sales are a more appropriate way to value SaaS companies. However, he feels like the majority of investors are still in the mindset of using PER, even for companies based on subscriptions, like SaaS companies.

Clobber The Board Game by Hayashi

Kazuya Hayashi from HENNGE’s Cloud Product Development Division (CPRD) gave the next presentation, on game AI. He decided to speak on the topic after recent news that the professional shogi player Sōta Fujii achieved the rank of 8-dan (the second highest) at a record-breaking age. He and other shogi players in recent years have started to use AI while practicing for games. Apparently, Fujii finds and plays these computer-like moves even faster than a computer can!

This recent discourse on AI reminded Hayashi about his encounters with the subject during his studies at university. His professor talked about studying human cognition by studying game AI. In a game like shogi, there are many moves that can be made on any turn. Competitive players need to figure out a good move in a reasonable time. Studying how to find the best move may give insights into how human cognition works.

During his studies, he defined two elements of cognition: searching and evaluation. Searching is the process of looking through the different combinations of states of the game, while evaluation is the process of deciding whether or not a certain board state is favorable to the player. How do players search and evaluate in their limited time?

Hayashi spent some time implementing a game AI as part of his studies. A game like shogi has complicated rules and a huge number of combinations of board states— apparently more than 10²²⁴! Hayashi decided to develop an AI for a simpler game: Clobber.

A Clobber board

He implemented a sample Clobber program and then implemented an effective searching algorithm based on MiniMax with Alpha-Beta Cutoff. This algorithm skips moves that don’t affect future moves.

Hayashi didn’t manage to implement an effective evaluation algorithm but gave suggestions as to how one would work, including using past play history. For example, if there is a board state from which a player has won in a past game, then a move that leads to this board state can be evaluated as a good move.

I think it’s fascinating how game AI has influenced how people play games in recent years. I know that a lot of professional chess players these days use advanced chess engines to prepare for games and these human players have begun to play non-intuitive computer-based strategies. It was interesting to hear that it happens in shogi as well and AI seems to be having an effect on all kinds of areas of the world.

How to make a landing page by Okubo

Masahiro Okubo from HENNGE’s HDE Division gave the next talk titled “How to make a landing page”. He presented this as a talk related to his talk given in the previous month “How to grow your service”.

He described the landing page as being one of the most important first steps in starting a business. He began by describing what a landing page is in the digital marketing world — a page that a visitor ‘lands’ on after clicking a link or advert.

The purpose of the landing page is to get prospective customers’ information so that they can be targeted by further e-mails and communications. To do this, a landing page must appeal to those who land on it. There are many different sections that need to be displayed — what does your service do? What problems does it solve? It may be difficult for beginners to structure the contents for a landing page, so Okubo gave some pointers regarding this.

He went on to describe how analytic tools, such as heat maps, can be used to see how users are interacting with the page. With data from these tools, you can then further optimise the page to improve the number of people who register their information.

He also gave some tips as to how it is important to structure and code your page correctly to be picked up correctly by search engines. Following good Search Engine Optimization (SEO) practices is important to improve the discoverability of your page. This may the most important thing, as it doesn’t matter how good the page is if no-one can find it!

He wrapped up by answering some questions about optimizations based analytics and SEO. From Okubo’s experiences, it doesn’t seem like it is particularly simple to optimize, even if you have the analytics. Additionally, it’s hard to pinpoint exactly how search engines index sites, so much of working with SEO may come down to trying out a few different ideas and monitoring the results.

Putting the U in Colour by Sean

My turn came next, and I talked about creating a custom colour theme for Visual Studio Code, the code editor that I use in my daily life for both work and personal notes. I spend a lot of my time with the editor open and while there is a plethora of different colour themes available, none of them fully fit my particular tastes. I thought it would be nice to try creating my own VS Code extension — both as a learning experience as well as a way to improve my day-to-day excitement in using my editor.

Before I set about creating my theme, I did some research and looked for any helpful resources I could. The best one I came across was an article by Sarah Drasner called Creating a VS Code Theme. In this article, Drasner details the process of creating her own colour theme Night Owl. She provides information and links for setting up an extension, handy pages from the official VS Code documentation, and some colour palette and accessibility sites. I used the sites Color Safe and Colorable to help generate accessible colours for my theme. In addition to using these sites, I took a look for some inspiration from a couple of my hobbies — cycling and Magic: the Gathering. I found cycling jersey designs and art from Magic that appealed to me and used them for a few more colour ideas.

After creating the palette, I found a tool — themer — that can generate themes for a number of different editors and programs and plugged my colours into it. I downloaded the VS Code theme generated by the site and started editing it manually. As part of the presentation, I gave a short live demo of what editing a VS Code extension looks like and how editing colour values can be done with feedback in real-time. I wrapped up with the lessons I learned in trying to create the colour theme.

I wouldn’t use themer to create my own theme again, as although it seemed like a good starting point, there were lots of values I had to change, so it was a lot of time to essentially undo what themer had made. I would definitely recommend reading the article and also looking at some of the popular colour themes out there. They all have their own public GitHub repository and make good references for how to set up a successful project.

All in all, it was a good learning experience and I hope to release a colour theme in the not-so-distant future.

Introducing HENNGE Lock by Charles

Charles Bond from CPRD has been working on the Android version of HENNGE Lock, and gave us a presentation that introduced the project. HENNGE Lock is a One Time Password (OTP) application that can be used to generate the OTPs for two-factor authentication (2FA) configured applications.

With most OTP applications, you are required to manually type the (usually) 6-digit password into a field when it is requested. HENNGE Lock is different to these applications because it implements Push OTP. With Push OTP, instead of manually entering the code, you are given a prompt to either accept or reject the login. This really reduces the friction that comes along with logging into 2FA configured applications. He then just gave a quick overview of the technologies used in HENNGE Lock.

Push OTP provides a much nicer user experience than regular OTP. I’ve been using it over the past few weeks and it’s been very smooth. As of 13th November 2020, HENNGE Lock is now officially released and can be downloaded from your operating system’s app store!

Virtual YouTuber 101 by Bagus

Bagus Rahman from CPRD began by telling us about how he had pondered about different projects he could do during the ongoing COVID-19 situation. He ended up becoming inspired to make Let’s Play videos — a genre of videos found on YouTube that involve playing through various games. He had recently bought a camera but hadn’t had much of a chance to use it due to not really leaving the house. Instead, he had started using it as a webcam and started to improve his home studio setup by buying a quality microphone as well. Combined with his enjoyment of playing video games, he thought; why not try streaming the games too?

Going even further, he thought that this might be a good opportunity to try becoming a Virtual YouTuber with an animated avatar, as he wanted to provide more than just audio but wasn’t so keen on putting his own face out there.

He got down to business and started doing some research. He found that there are 3 main steps to start Virtual YouTube-ing:

  1. Creating a virtual avatar
  2. Motion capture to map movements onto your virtual avatar
  3. Combining the avatar with video from a game — either live-streamed or recorded.

He started looking at the software for each of these different steps, but he didn’t know how deep of a hole he was getting into. It turns out that there is a multitude of different software out there for each part of the puzzle, and there’s no tool that provides a solution for the entire workflow.

For example, avatar creation can be handled by professional 3d modeling software such as Maya and Blender, or with simple character customization applications such as Mixamo or even Facemoji. Bagus settled on using VRoid, a tool that he felt had an appropriate balance of ease of use and customizability.

A screenshot of the VRoid interface

With motion capture, the programs available depend on the kind of input you would like to capture — some software is more suited to capturing the face, using a webcam and microphone, whereas others may be more suited to body capture using a bodysuit.

Bagus used a motion capture program called 3tene with the model he exported from VRoid. He showed us a screenshot of this in action with his face mapped to the avatar, showing an open mouth that mimicked his own.

Despite having this avatar that would follow his facial expression, Bagus still had a long way to go. In order to record the avatar moving in real-time, there were some hurdles to overcome in real-time rendering. On top of this, he would need to decide on the best way to record his gameplay, which gets even more complicated with console gaming. Finally, after combining the avatar with the gameplay, this would have to be live-streamed or uploaded to a service such as Twitch or YouTube.

Bagus hasn’t made it through all of the steps to create a Virtual YouTuber channel yet and he admitted that it was feeling quite overwhelming. He may abandon the project and go with a simple audio overlay to accompany videos of his gaming.

I didn’t realise there was so much that goes into being a Virtual YouTuber and I definitely feel a new-found respect for the many channels out there.

Bonus/Lightning talks

DURING this MTS, we had some extra time for additional talks. During this time, Ogura started flying around on his screen that he had shared as his video input in Zoom. This tied in nicely with the previous Virtual YouTuber talk.

Ogura floating in the middle of his screen

Ogura was using the video recording and streaming software OBS (Open Broadcaster Software) to overlay the video of his webcam on a video of his desktop. This was then fed into Zoom as his input device instead of his webcam. Finally, he was using a MIDI controller to easily move the video of himself around the screen, using a Python script called MIDItoOBS. It was an entertaining end to MTS.

Ogura demonstrating the use of his MIDI controller with OBS

After the session, we had our customary beer bash, which was naturally also held online.

--

--

Sean Li
henngeblog

began life in the UK, now working on software in Tokyo