Welcome to Infinite Loop

I am Qiu Weihong, an aspiring software developer studying at Singapore University of Technology and Design. Infitite Loop is a place where i consolidate all my learnings and thoughts through my coding journey on my free time and for the school work.

I hope through these insightful blogs, you will learn something new.

Project

I am one who believes in practice makes perfect and i would like to put every single knowledge into practice. Hence i actively involved myself into various project through out my University years. I am proficient in a variety of web development technologies, including Django, Node.js, React, Mongodb, golang, AWS and many more, These skills enabled me to build impactful projects that brings positive changes to my target audience. In my blogs, i will be mainly discussing the different technical aspects that make up all my technical projects

Dyanmo Clone

In my recent course on Distributed systems we created a Dynamo clone. This project is really challenging and eye opening as it enlightens me a totally different set of challenges in software engineering as compared to the regular web development that I have done previously

SUTDfolio

If you were to ask me, what was my greatest achievement. Then i would probably say it SUTDfolio because this is the first fully deployed full stack project that I have built. I experience the entire cycle of software development and the necessary tools for each part of the development. I have really learnt a lot from this project, things like MERN stack, redis, animation and Devops.

Ascenda Loyalty Point System

I have the opportunity to work on an industry attached project under one of my course Elements of Software Construction, through this course and project, I gain a deeper understanding on what are the necessary planning and steps of software development cycle. In the Ascenda Loyalty Point System project, I utilize various software tools like use case diagram, UML diagram and database diagram to better help out with the planning of the project and make the implementation much smoother. I also actively use different test strategies like unit testing and integration testing to test the reliability of the platform

Qbot

With the recent bloom of Generative AI, I have also take up a project to build a Qbot in Microsoft Team base on a open source frame work quivr. This project is meant to build a knowledge base for different university courses using Retrieval Augmented Generation(RAG) . Students can directly ask question in teams and the bot will generate answers base on the content that is in the knowledge base

Capstone

As a final year student, I am currently working on a capstone (Final year project) with NHB on a platform to streamline their exhibition create process between the curators and the designers.

Blogs

Through out my development journey, I have realise that i came across so many things when I was looking for potential solutions for the software that I am developing. Many a times, I just read through the documentations, do some simple experiments and just forget about it if it is not the solution that I am looking for.

However, I think that this not very beneficial to me because I often miss out some of my potential future solutions. Even if I manage to find a solution, but after long time not interacting with it, I will still be rusty about those knowledge and need to do some additional research about it to get familiarise with it again which is very time consuming.

Only after a few rounds of searching and practicing then I can partly master the skill, which is not very efficient. Hence I think writing blogs on the interesting projects and tools that I have came across will definitely be helpful for my future learning.

My blogs

Backend Essential

Note6Tags
Understanding and Implementing Distributed Locks
  • blogs
Load Testing Using Jmeter
  • blogs
  • Jmeter
JWT
  • blogs
  • Backend
  • Authentication
Horizontal and Vertical Privilege Escalation Attacks in Web Security
  • blogs
  • Security
Distributed Transactions Concepts and Importance
  • blogs
A guide to database transaction
  • blogs
  • Database

Explore

Note2Tags
Why is Hashtable O(1)
  • blogs
Mac Setup
  • blogs

Obsidian

Note2Tags
A switch to Obsidian
  • obsidian
  • blogs
Publish Your Obsidian Vault with Digital Garden
  • blogs
  • obsidian

Tips and Tricks

Note2Tags
The Perils of Accidentally Committing .env Files to GitHub (And How to Fix It)
  • blogs
How to log with verbosity
  • blogs

My past blog archives are here

Study Notes

As a computer science student, there are some fundamental concepts and skills that I should have a strong have a strong grasp of. I keep track of them in my Study Home.

The Study folder contain my learning in the school and a dedicated section for data structure and algorithms.

Get to know me

Apart from being a nerd and study all the technical stuff. I also like to get myself sweaty, I play all sorts of sports and my favourite ones are badminton and basketball. I am also a "self-claimed" photographer, if you wish to check out some of the photos that i took, check out my instagram