54th Monthly Technical Session (MTS) Report
54th Monthly Technical Session (MTS) was held on January 25th, 2019. MTS is a knowledge sharing event, in which HENNGE members present some topics and have Q&A sessions, both in English.
“Email Career Trend” by Kusumoto
HENNGE provides mail delivery service Customers Mail
. He works on the project. He investigated trend of domain name of email destination in 2 cases. There are many email services like Gmail, Yahoo, Outlook, etc. Also mobile carriers like docomo, AU and softbank provide own email service. He investigates trend of email service via email domain part.
First case is one of EC site. This customer provides some fusion sites. They send promotion emails and sales information. In this case, Yahoo is first trend. Second is Gmail. Career mail domains follow them.
The second case is one of recruiting site. The main users of this site are students or business people who are finding jobs. In this case, Gmail is the first trend. Second is Yahoo. Career mail domains follow them.
From these 2 cases, many users use free email service like Yahoo. These mail services, especially Gmail, have restrictions on sending email. Our mail delivery service follows these restrictions.
“Prometheus on ECS” by Toshi
On this time, he talked about service discovery.Prometheus supports service discovery like AWS ECS Service Discovery.
Prometheus is one of monitoring system like Nagios or sensu. Prometheus supports service discovery. So, if your instances are expanded or reduced by autoscaling, Prometheus can add or delete targets automatically.
“Static vs. Dynamic” by Dima
He told about how Dynamic programing language is useful.
In HENNGE, Python is one of popular programing language.
Static programing language like Java has static type system. It will prevent illegal manipulate by checking types of variables on compiling time. But, these type of error will be happened very few. And some of erros like ‘java.lang.IllegalArgumentException’ on android’s notification function will be happened on run time. So, static type system isn’t versatile.
Using dynamic programing language like Python, we can bind any kind of types to a variable. Sometimes it cause a type error. But it makes it easy to change data type or extend data structure. This feature is very useful to maintain our service for years.
“Game Boy Emulator” by Ogawa
He is developing his original Game Boy Emulator. It is written in Rust.
He publishes this project on Github. If you are interested in his project, see also his Github page. (https://github.com/rim-buei/gameboy)
This time, he demonstrated his emulator. His emulator has a web UI, so he played some sample ROM with a web browser.
There are some remaining tasks. For example, Audio support, Save file support, etc.
He will implement these features.
“Shortest Path on a Graph” by Okumura
He talked about how to get shortest path. We often use navigation system like Google Maps to get a path to a destination. To get a shortest path, trying all combination of path is simplest way. But it requires a lot of calculation and time. He introduced Dijkstra’s algorithm to get a shortest path efficiently.
“Sonic Pi” By Andreas
He was a guest from other company. He is a one of friend of Takeshi Imai who works HENNGE.
They have common hobby, Music. This time, Andreas introduced Sonic Pi that generates music by code. He performed live composing with Sonic Pi. Sonic Pi supports scripts that’s style like Ruby. His music has been changed whenever he added a new code.
As usual, we had a party afterward :)