70th Monthly Technical Session

Sean Li
henngeblog
Published in
7 min readSep 15, 2020

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

With most people working from home and Tokyo’s ongoing state of emergency, the 70th MTS was held online on May 22nd, 2020.

How to Type Japanese on US Keyboard (Windows) by Fukutomi

A screenshot of a slide from Fukutomi’s talk

Our first presentation was given by Yutaka Fukutomi from HENNGE’s HDE Division. Fukutomi talked about the inconveniences he faced in setting up his new laptop to use the Japanese kana input layout.

The story began with how his machine was due for an upgrade last December, as it had reached the 3-year mark of its use. There was a problem, however. The laptops that were available to choose as a replacement only offered US keyboard layouts, as part of company-wide efforts to standardize keyboard layouts. Fukutomi has always typed Japanese using the kana layout, so some settings had to be changed to allow the new hardware to be used to his preferences.

He described the steps that were needed to enable this in Windows. Unfortunately, it wasn’t as simple as changing the input language, as the Japanese keyboard layout has a few more keys than the US keyboard layout. After deciding on a few keys whose original symbol could be forgone and used as alternatives to the missing keys, his new machine was set up and ready to go.

Existing User Community “Chameleon” by Shimizu

A screenshot of a slide from Shimizu’s talk

The next talk came from Sae Shimizu, of our Customer Success Division. She described a community created by HENNGE for existing users of our products.

Chameleon is the name of the community and was inspired by the animals of the same name. They change and adapt to their surroundings, aligning with HENNGE’s focus on continuous transformation and change.

The community exists on Slack, and is a place for users to share knowledge and ask questions. Users have shared various information and discussed various topics within the community. There is a channel dedicated to talking about the COVID-19 situation, including sharing data and adapting to changes in working style. Other topics include discussions regarding HENNGE One and the general global situation.

Although one of the aims was to have a place for questions and answers between our Customer Success team and users, some problems were resolved entirely within the user community, with some solutions even being outside of the knowledge scope of our team. A clear indicator of the usefulness of having such a community.

Shimizu explained how activities were held throughout the week for community members, including a weekly ‘online izakaya’ meetup on Thursdays. She concluded by talking about all of the things we have gained from the Chameleon, as well as the future of the community.

It was interesting to learn about this project. It is apparent that there are a lot of benefits of such a community and it will be interesting to see how it develops in the future.

React(ive) Javascript by Ray

A screenshot of a slide from Ray’s talk

The third presentation was given by Ray Wong of HENNGE’s Cloud Product Development Division (CPRD). RxJS is a library that implements the principles of Reactive Programming in Javascript.

To begin, Ray highlighted the differences in the paradigms of imperative programming and declarative programming. In imperative programming, you describe the exact steps that you want the computer to take, whereas declarative programming is more abstract — you give the computer an instruction, and don’t worry about the implementation details.

RxJS and the paradigm of Reactive Programming follow a declarative, functional approach to writing code to work with events, such as user inputs and interactions with elements on a web page.

Ray showed us some examples where RxJS may be appropriate. He talked about a text input search bar that fetches suggestions for auto-completion — like the Twitter search bar. It would be unnecessary for a network request to be made every time a new character is typed into the search bar. Instead, the network request should be made when an amount of time has passed without an input being made. This is debouncing, and RxJS provides an instruction to easily debounce an event.

This was followed by a live demo of some code that Ray had worked on during his internship and updated for the presentation. He then showed us an example of reconnecting to a WebSocket after losing connection to the internet, which was made simple through using a Reactive Programming library.

A screenshot from Ray’s live demo

Ray introduced us to the redux-obvservable library that was created by Netflix. It seems like Netflix is one of the big proponents of Reactive Programming as they believe it is a helpful approach for building complex asynchronous programs.

Ray concluded the presentation with some pros, cons and strong recommendations for the use of RxJS in front-end applications. He attached a few links on his last slide that may be a useful introduction to anyone interested:

The concept and paradigm seem to have some useful use cases but felt quite complex to understand completely. It is definitely something I will need to read more about to wrap my head around!

Review HENNGE Secure Transfer v2 by Matsuura

After a short break, we had our fourth talk from Shinya Matsuura of CPRD. He recently joined the HENNGE Secure Transfer team to help work on its update and has been getting up to speed with the project. The presentation covered an overall summary of the project and the architecture involved.

A screenshot of a slide from Matsuura’s talk

HENNGE Secure Transfer v2 aims to improve on the previous version, which has a number of issues including being quite monolithic and taking a while for deployment. The new version also intends to be easier to integrate with other services and to support more features that have been requested by our customers.

One of the first differences discussed was separating out the different components of the product into individual parts and repositories. The idea of this is to make it easier for people to join and work on a specific part without having the mental overhead of considering a large interconnected system. Matsuura detailed how various GitHub features such as the project kanban board and GitHub Actions helped in organizing and keeping things up-to-date between the repositories.

A promising next step is the integration of HENNGE Secure Transfer with HENNGE Email DLP to provide a better and smoother experience for sending encrypted e-mail attachments, as the current system is rather roundabout.

The Great HENNGE Workstyle Outage #1 by Iskandar

The last of our main presentations came from Iskandar of CPRD. He addressed a failure of one of our systems, the investigation into the root cause, and lessons learned for the future.

A screenshot of a slide from Iskandar’s talk

On the morning of February 4th, the status of all HENNGE Workstyle devices reported that they were not connected. The devices themselves appeared to be healthy, however, showing the same LED light as always. It seemed that they weren’t communicating with the server for some reason.

Iskandar realised that Google had changed their SSL certificates from using Let’s Encrypt to their own Google Trust Services, which meant that the certificates on the devices were no longer valid. This meant that the devices could no longer communicate with the server.

The devices needed to be updated so they could communicate with the server, but an update couldn’t be delivered without first being connected to the server. What a dilemma! It turned out that some of the newer devices had new HENNGE self-signed certificates placed on them, and an update in the server certificate configuration allowed these devices to connect and regain functionality.

However, these newer devices only accounted for 300 of 1000 devices and the other 700 devices needed to be updated manually one-by-one. A unenviable task that had to be carried out over 8 weeks! Iskandar wrapped up by talking a bit more in detail about digital certificates and some of the lessons learned from this incident.

Iskandar began the presentation talking about how Microsoft’s communication software Teams also had an outage in early February due to an expired certificate. It turns out that problems with certificates is a problem that any company can experience.

Lightning Talks

OpenID Connect by Dima

A screenshot from DIma’s lightning talk

We had extra time left over for impromptu talks in this month’s MTS. Dima Tisnek from the HENNGE Access Control team of CPRD rounded off the event with a mini-announcement that their team has started experimental support for OpenID Connect. It will be exciting to see this in use, with it offering advantages over the pre-existing SAML support.

We had a party afterward, as is the tradition of MTS. Like the main event, this Beer Bash was held online. We might not have any pictures from the after-party, but you can rest assured that it was fun. (It was so fun that we may have forgotten to take a picture!)

--

--

Sean Li
henngeblog

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