For UNIX Week | King Weekly

Book - Unix: A History and a Memoir Recently, I read this fantastic book. It bring me back to that 1960s - a period without modern computer and how the most clever minds in this world changed the world. During the reading, I found many answers to the “why” questions I had when I learning linux system. AT&T built Bell Labs and invited some of the most brilliant people in the world to do the most advanced scientific work. There was no limit on funding and no fixed goals for individuals. The system developed before Unix was called Multics. Since “Multics” already used “multi,” the early name of Unix was “Unics.” Unix was first written on the PDP-7. The next version, written in C, was developed on the PDP-11. Fortunately, it wasn’t written for the PDP-10. Tools like the shell, grep, regular expressions, the C language, the C compiler, yacc, lex, make, sed, awk, and troff were all invented at Bell Labs. Unix eventually declined due to copyright issues. AT&T sold it as a product and made it proprietary, which gave rise to open-source Unix-like systems. GNU is a Unix-like project that provides free and open-source alternatives. Under the GNU license, if you modify the source code of a project, the modified version must also remain open-source. MacOS is based on BSD, which is a Unix-like system. The Linux kernel combined with GNU forms GNU/Linux. They both follow POSIX. In the early days, operating systems were not portable. This changed with the invention of the C language and its compiler. MINIX was widely used because it was embedded in Intel chips. The working environment at Bell Labs in the 1970s are of hard problems, brilliant colleagues with shared dreams, and a unique management style that encouraged innovation. Microsoft once had its 3own Unix-like system. Another completely different path from Unix was MS-DOS, which eventually evolved into today’s Windows. You can also get to know the geniuses of that era, like Ken Thompson, Richard Stallman, and Brian Kernighan. “Everything is a file” is one of the core principles of Unix. The KISS principle (“Keep It Simple, Stupid”) is a fundamental part of Unix philosophy. The UNIX philosophy is very similar to some programming concepts I’ve recently learned at university. That’s why, Its impact not only on system desisgn but also software deveopemnt and beyond. ...

April 21, 2025 · 4 min · King Jin

Jarvis Will Coming Soon | King Weekly

Model Context Protocol overview MCP (Model Context Protocol) can be understood as a “universal language” for communication between AI and external tools. It’s like a translator, allowing different AI applications (such as chatbots, code assistants) and different tools (like databases, GitHub, calendars) to easily communicate without needing to develop a new interface every time. Why is MCP needed? In the past, if you wanted an AI assistant to access different tools, like a calendar, email, or task manager, you would need to develop a separate interface for each tool (function calling), which resulted in a huge amount of work (N AI applications × M tools = N×M interfaces). MCP simplifies everything: all AI applications only need to support MCP, and all tools only need to support MCP. This way, they can communicate with each other, reducing development costs (N+M interfaces). ...

April 3, 2025 · 4 min · King Jin

Start | King Weekly

Email sending and receiving system The main system is build based on three protocols: SMTP, POP3 and IMAP. SMTP is used for sending emails to the recipient’s email server, but it does not handle receiving emails. User1 sends an email via an email client, and the email is first sent to User1’s email server using SMTP. Then, the email server forwards it to the recipient’s email server using SMTP as well. ...

March 9, 2025 · 5 min · King Jin

Time Complexity Notations

In this semester, I listened the course mit 6.006 in youtube channel. Duirng the course, the professor used different notations to represents time complexity of an algorithm. I learned Big O O(n) notation before, but for Big theta θ(n) and reccurence relations T(n), I never heard them before. Today, I hope I can finally figure them out. What T(n) represents the actual running time of an algorithm O(n) represents the asymptotic upper bound of the running time of an algorithm θ(n) represents the running time when asymptotic upper bound and lower bound of an algorithm ares the same. ...

March 1, 2025 · 2 min · King Jin

My Homelab

This week, I browsed many old machines at ebay to use for my first attempt at setting up a homelab. Initially, I planned to build a machine myself during the summer holiday, but in today I found a great performance and a high cost-effective machine that changed my mind. Overview The machine model is HP-Elitedesk-800-G4-SFF. Compared to its previous generation, the chipset supports 8th and 9th generation of intel core cpu, which offers a significant improvement(6c6t) compare with 6th/7th core cpu(4c4t). Furthermore it provides NVme express in this generation. With these components, I can build a highly cost-effective homelab. The total cost is £150. ...

February 14, 2025 · 3 min · King Jin

JVM's Achievements and Limitations

This semester, I learned OOP from Inf1B, which using java as the official teaching language. What fascinates me the most is why Java has the JVM. I learned Python, C++, js and Haskell before, but all of them doesn’t have a jargon for virtual machine. And then I went to wikipeidia to find out why. In 1995, Sun Microsystems introduced Java and the JVM to the world with an ambitious dream: “Write Once, Run Anywhere.” This WORA philosophy became a reality through the JVM, enabling Java applications to run on any operating system with a compatible JVM. Before talking about the archivements and limitations, Let’s have a look about how JVM works. ...

February 13, 2025 · 4 min · King Jin