102nd Monthly Technical Session
Hi there! We would like to share about our MTS again, the 102nd MTS. MTS, or Monthly Technical Session, is a place to share knowledge among HENNGE members.
In addition to our full-timers, we also have speakers from our GIP program. On this MTS, we discussed various topics ranging from Artificial Intelligence and algorithms to application frameworks.
Generating Art Using AI by Nektarios
Nektarios started the first talk of the session. He talked about generating art using artificial intelligence.
Recently, there has been much hype about art-generating AI using machine learning algorithms. These AIs rely on specific inputs, such as text prompts or image references, to generate the desired output.
Art-generating AIs are typically categorized as generative models. These kinds of models learn by being trained on a huge amount of data and then “learning the essence” of the data to generate new original data based on the pattern on which they have been trained.
Nektarios also discussed the most popular method of training generative models: a generative adversarial network (GAN). This method involves using two neural networks that create a feedback loop to train themselves to achieve a higher score.
In the end, Nektarios also discussed whether we could consider AI-generated art as original or not. AI learns how to generate art by being trained in human-created art. Therefore, you can argue that AI-generated art always has some element of someone else’s art. However, isn’t that how we usually learn as humans too?
Finally, Nektarios gave some examples of AI art generators, complete with their use cases and strengths and weaknesses.
Grover’s Algorithm: An Introduction to Quantum Algorithms by Simon
Simon started his talk by introducing a quantum computer and how it differs from classical computers. A Quantum computer is a type of computer whose working principle is based on quantum properties. This allows for significant speedups in computing operations compared to classical computers.
Because quantum computers have such a different working principle, we also need a new algorithm for computation using quantum computers. One such algorithm is Grover’s algorithm which allows quantum computers to search unstructured databases or lists in O(√N) time. Grover’s algorithm can provide exponential speed up against the classical counterpart for large databases.
Grover’s algorithm works by using quantum parallelism to create a superposition of all possible states, then applies amplitude amplification to amplify the probability of the correct solution.
At last, Simon mentioned how we could try this new kind of programming by using qiskit library, which provides an approachable API to quantum programming.
Tiny Fuzzy Filter Using Levenshtein Edit Distance by Hayashi
Hayashi discussed using the Levenshtein Edit Distance algorithm to create a fuzzy search for better results. Levenshtein Edit Distance algorithm is used to calculate the minimum number of edits required to make one string equivalent to another string. For example, you need two edit operations to make ‘kitten’ into ‘written’. The first is to insert ‘w’ to make ‘kitten’ into ‘wkitten’ and then replace ‘k’ with ‘r’ into ‘written’.
Now we can normalize this value by dividing it by the length of the longer string to create a string similarity indicator. 0 means no edit is needed; therefore, perfect match and one means the string is wholly replaced, which means no similarity.
Hayashi continued by showing us how he used this algorithm to make our product's search bar more flexible, making it easier for users to use. In the end, he concluded by showing various implementations of the Levenshtein distance algorithm in different kinds of programming languages and also different varieties of Levenshtein distance.
GitHub Actions with Firebase by Ashraf
Ashraf was one of our GIP interns on January 2023. On this MTS, he discussed how to use GitHub actions to create a deployment pipeline to Firebase.
Ashraf started by mentioning reasons why a deployment pipeline can be helpful. These include the ability to build, test and deploy in an automated way, saving time and money.
He also discussed three reasons to consider using GitHub actions instead of other CI/CD solutions:
1. Github: Most companies have already used Github, so it makes sense to use a CI/CD solution already integrated with Github itself.
2. Easy to Use: Github action can easily be configured using YAML configuration file. It is managed by GitHub. Therefore, we don’t need to worry about the infrastructure itself.
3. Compatibility: Github actions have good integration and compatibility with GitHub events. This makes capturing the specific event of interest easy to trigger the pipeline.
In the end, Ashraf showed a sample configuration he used in his project.
Resumability on Qwik by Danilsen
Danilsen was also one of our GIP interns on January 2023. On this MTS, he discussed resumability using the Qwik framework.
Denilson started by describing how most front-end frameworks work. Typically, frontend frameworks respond to user input by installing event listeners on DOM (Document Object Model) node. It must build its own internal representation of the application state to do this. This process will require the browser to parse the HTML, then let the framework build its own data representation. This system is typically known as replayable (hydration).
There are two problems that make hydration expensive:
1. The framework has to download all the Javascript code bundles.
2. The framework has to rebuild the event listener and internal component tree.
The Qwik framework aims to solve this by introducing a concept called Resumability. The basic idea of resumability is to serialize the application in such a way that the rendering process can be resumed somewhere else without having to restart the whole process from scratch. This approach allows the website to be loaded part by part instead of a big chunk all at once.
Overall, this gives the website a faster initial load time, better SEO, and lower overhead.
GIP Lunch Onsite! by Yuri
At the end of the 102nd MTS, Yuri gave a lightning talk about the resumption of GIP lunch.
For additional context, GIP lunch is a program to let HENNGE members have lunch with GIP interns. This has been paused due to the pandemic and the internship being held online.
After a long wait, we were finally able to resume GIP into an onsite internship activity again. Therefore, we also started initiating more activities with the interns, including having lunch with them. This has been a refreshing piece of news because not only do we get to try out new kinds of cuisine, but we also have more direct interaction with the interns.
Conclusion
We would like to thank all the speakers for sharing their knowledge with us. We concluded by enjoying many kinds of meals and conversing with our colleagues. See you in the next MTS recap!