Blog 14 - Python

I just learned the basics of python a few days ago, and this blog is to show what I had learned so far.

So to print something on the terminal, it's just print("text"), no semicolon unlike C or C++. To give the user input, it's input("text"). While to let user input only in integer, just put int() in front of it.

To change a variable data type, just put the data type you want in front of it, like int(float(x)). Also, can we just appreciate for a moment how easy to make a variable in Python, just x = 6 or x = "asdAsd" if you want a string.

Then we have list, tuple, sets and dictionaries where they are like arrays in C.

Then goes to function where to declare it you just put def Func (x):

Then we have match, which is just like switch in C.

We don't need to give if-else case because that is just as easy as it is. While loop and for loop is also easy. While loop use case is (while 123<123123:) and for loop is (for x in adasd:). Note that for the for loop, the last argument have to be a variable.

Iterators which is just to print one word in a string or print one word in an array at a time. Use case: myit = iter(asd), print(next(myit_))

There were others like datetime that I had learn but they were just modules imported from elsewhere.

Moving forward, I am going to learn class in python and pointers in C (i kinda not get it tho).

So that is all today and I haven't been receiving e-mails in a while, so pls email me.

Blog 13 - ArcticWM

I just finished the project ArcticWM days ago but I don't yet have the free time to publish it to GitHub but today I had already publish it to GitHub because now I finally have enough free time to do these stuff.

It's the start of a new term in my school so next year I move to Year 9 so this year is an important year.

Let's start with "What is ArcticWM?" ArcticWM is a simulation of Window Manager (also minimalist, consists of ~200 lines) and that time I built it just for FUN also to gain some knowledge about raylib in C

Raylib is a GUI library in C used to make building GUI in C faster and easier.

So you first get a login manager, which is just a Test User and a button to login. Since this is just a simulation, no password is needed and very critical to implement one in this project.

After logging in to ArcticWM, you will get a blank window (ArcticWM only has blank window). By pressing Alt+N you get another window. To resize it, you use X, Y, + and - keys. X and Y means which direction you want to resize it, either horizontally or vertically. + and - is to either enlarge or shrink the window.

Alt+D is to show the start menu or the application window, and Alt+V is to show the version. Currently, ArcticWM is in V1.0 (North Pole).

To go back to login screen, just press Alt+L.

To switch between which window to resize, just simply press Alt and which window number. For example, pressing Alt+1 gives you to 1st window and Alt+2 is for the 2nd window.

By the way, logging out and logging back in does NOT restart back to only one window and keep your layout as it is, and adding a new window's size is the same as the old one.

Finally, it is Open Sourced on GitHub and will be added a GPL 3 License.

Good bye.

Blog 12 - New Keyboard

So, I just made a custom keyboard and used it for a few days. The whole set (with discount) only cost me around RM100 (or $25), pretty cheap.

But what make this a really good (I meant it) keyboard is below RM95 the kit you get a PE foam, pretty rare on budget keyboard.

For the switch I use OUTEMU RED switch. It was similar to Cherry MX Red Switches. For my failed (refer blog 7) keyboard I specifically use the clicky (blue) switch due to 2 specific reason : 1 being that time I don't really care much about the switch, it's like "just works" switches (which IS WRONG because brown or red key switches help me focus more than blue ones) and 2 I have blue switch at home so why not use them instead of wasting money?

The red switch I mentioned has a pull force of 36g, so I can use less force per key register than a membrane keyboard.

The switch I use was a PBT Jelly keyboard, black colour specifically, since the base was white, using black keycaps would look and is AWESOME.

This keyboard (US Layout with Z and Y swap) consists of 68 keys but other layouts like the DE layout may have more.

Also, this keyboard is heavier than other keyboards at my home due to it being a "mechanical" keyboard and obviously the more heavier it was the better it sound.

This keyboard don't have RGB (yk why) but it has an indicator when on (to see if it has battery OFC).

The attachment below is my keyboard, and before I end this it is the CIY Tester 68 Keyboard.

Blog 11 - about SON and SOX lamps (ABOUT STREET LIGHTS!!!!)

On blog 4, I said that I'll explain why I SEVERELY HATE LEDs (Light Emitting Diode) and should be replaced with traditional lamps.

NOW, don't get me wrong, LEDs are great (incredible), like it reduces car crash by ~20-40%, and also reduces carbon emissions. LEDs also produces brighter light than traditional lamps like HPS, Mercury Vapour and more. With 5V of power, LED can produce more light than HPS or any traditional lamps.

But here are the downsides why me and other people hates it.

First was the low CRI index. Cheap LEDs either went too bluish (remember that White LEDs are made because of blue LED, as it was mixed with fluorescent yellow phosphorus filter, if the yellow filter isn't enough, it will look bluish) or too greenish (yellow filter applied too much). Finding a 95+ CRI LED was hard to find, most likely the CRI index accuracy was only 40% while 90+ CRI was 60% I mean you can get one 90% CRI LED for only RM14.

Second reason: blinding glare. Even though you lowered the voltage (minimum 3.0V) was already blinding in my opinion.

Final reason: lifespan. LEDs have very low lifespan (my house LED only lasted 2-4 years LOOOLLLLLL) while HPS or LPS have longer lifespan, around 20 to 25 years. This is due to heat, yes LED HATE heat, so this is why it last way shorter than HPS or LPS, and by the way HPS and LPS love heat. Also, cheap LEDs (RM5-RM10) internal capacitor are so bad that you are going to hate it (they cannot handle current instability).

It's sad that worldwide are switching to LED in their highway, while not preserving the golds of HPS (put it in the main road) and LED should be put in the EXIT or steep roads.

So here are all of them. You OF COURSE can email me with the "My E-Mail" link down below.

Blog 10 - scam detector project

So I've been building this "scam detector project" today, and it is in V0.5 (prototyping mode), so I need you guys to test it. It is in my homepage and here.

Why am I building this? Because yesterday, my friend gave me an idea to build a library for python (I mean this IS NOT A LIBRARY but try it out), and lately there were maybe a lot of case about scamming (i guess), so building this project is like killing two birds with one stone.

How this thing works is first it has a fixed list (const) so it cannot be changed in the program. Then, I programmed it to remove symbols and make every character lowercase. After that, the program will see your prompted message if it is in the list. Finally, it would rate the percentage of the message being a scam (this include how many times does the message have the words in the list and how critical are the word (ranked from 1 to 5)).

So this is a very short blog, and that is all, bye! (REMEMBER TO EMAIL ME PLS)

Blog 9 - How to use ZLIO

What IS ZLIO? ZLIO (Zile-Lai-Input-Output) is the main I/O function for SealKernel. So to see how it works, we first are obviously going to download the header and implementation file from GitHub (link in Homepage).

To declare the Header file, we use #include "zlio.h" and #include "zlio.c" for the implementation file.

To use it, first we need to know how to use out (short for output) in zlio. The function name is "out". Remember, zlio is to make writing I/O in C way more easier and save some time, and also to let beginners know what basic I/O in C does. So to output stuff, we use out("Hello World"); to output text and out("%d", integervariable); to output a variable value (in this case is an integer).

What about in (input)? In ZLIO, just as same as output (out), input is "in". But instead of declaring a format specifier like outs, ins DO NOT NEED TO DECLARE A FORMAT SPECIFIERS (like %d or %s). Instead, you use in like this: in("", integervariable);

If you use in("%s", integervariable); like how scanf does, you are going to get something like this: (%s >) instead of this: (>).

So this is all about ZLIO use, see you in the next blog also to email me to give suggestions about SealKernel and what should I add or improve next.

Blog 8 - Mini PC

My Mini PC just came yesterday, and it was a GMKtec G10 I think, running AMD Ryzen 5 CPU and AMD Radeon Graphics. Compared to other Mini PCs (excluding Raspberry Pi, Orange Pi and Arduino Uno Q and more since they are SBCs and not a "real" computer in my opinion), this Mini PC is very "affordable", at RM1107 you get 16GB of ram, 500GB of NVMe storage and AMD Ryzen CPU. The other Mini PCs such as GMKtec G3 and Beelink S12 all ran Intel CPUs and I think Intel CPUs are NOT that great (in price).

For this Mini PC, it shipped with Windows 11, which is AWFUL for servers, so I removed it and install both Ubuntu Unity and Fedora i3 Tiling. For Ubuntu I gave it 30GBs but I will remove 5GB for Ubuntu and the rest belongs to Fedora i3 Tiling.

You may ask: "Why do I put that less for Ubuntu Unity and the rest to Fedora? Isn't Ubuntu much heavier than Fedora???". Yes, Ubuntu is heavier than Fedora, but Ubuntu requires 25GB storage and Fedora needs 40GB recommended due to caches, but you can go below it like 10GB or 30GB (my option if you don't have much space). For Ubuntu Unity, it runs my shell (SealKernel) and for Fedora it is my NAS and where it try out WM stuff, VMware and databases (VMware and databases I also use it in my main laptop, Lenovo LOQ).

Until now (12-8-2026), my Fedora i3 is still under customization stuff, and to show you my i3 skill, here are them:

  • Mod + Rclick = resize

  • Mod + Lclick = move (if enable draggable windows)

  • Mod + Enter = Open terminal

  • Mod + D = Start Menu

  • Mod + Shift + Q = Close a window

  • Mod + Shift + Space = Make a window draggable

Yeah, they are all the shortcuts I did, and obviously I installed Polybar, Fastfetch and Cmatrix to make it look more wonderful. Some of those packages like ssh-server, Python, Picom and Ful already came in Fedora.

For the window also, I make it translucent so it looks more glassy and cool.

And I think that is all, bye.

Blog 7 - Improvements in Keyboard Project

So, my keyboard, as you know, last time it was NOT great. I can't solder my copper wire to the diodes. But, I had found the solution, it's all thanks to the existence to Flux. If you don't know what is flux, it is a sort of a slippery substance that prevents oxidising (removes metal oxides) so it can create a strong electrical bond.

I have finished soldered the rows of my Keyboard, now the final soldering goal is to solder the columns and link it to RP2040 (a raspberry pi HID microcontroller board)

In the mean time, I updated my SealKernel stuff, upload videos on TikTok and make my ESP32 PCB Board.

SealKernel 9.8.2026 has released (BTW). For this release, I have added a history function and a clear history function, also enhanced rm function for security reasons.

For the next update, what I want to do is to add help function to all of the functions there.

I think that is all for today, see you in the next blog

Blog 6 - IDK What to put here

I don't know what to write today... Red Hat Learning Subscription is on the way (now 60%) to be finish and get a certification, I just got into the first class in my school, and since it was the holidays, I do videos, I code, I sleep, I play games with fixed schedule, I go holiday for 2-3 days and obviously watch videos and read books. Sometimes I do blogs sometimes I don't.

I have this wonder : What is our purpose in this Earth? What does god want us to do here? We don't know. Nobody knows. Maybe it was the alien's plan.

Also, Earth is supernatural, is just urban legends bringing it up. There was this experiment, a torch light, a fork, and a human. Looking at the passed light from the source, you would have expect, straight. But while you are away, the light is scattered. Physics had told us that light always go in straight lines, but now, this completely breaks the physics law.

This could mean that what you are seeing now are virtual. Everything is just made up by the brain. You wouldn't know what you're seeing if it is true or false.\

Anyways that is all for today. See you in the next blog. Bye.

Blog 5 - Failed Soldering

As I said, I really want a mechanical keyboard, specifically a QWERTZ layout keyboard.

I mean I can just buy one from a book store close to my area, but whatever, I'll just make my own.

If you want to sell your own keyboard, it is just impossible to reach below RM70 price range. The keyboard I had made cost around RM100-RM110. This is also why a lot of people rather buy a factory made keyboard than just building their own.

Soldering came to the trickiest part. Soldering diodes are easy, but the copper wire. I tried every method, including heating my soldering machine (PineCil V2 btw) to 400 degree celcius, it still can't work. I think it is because iron cannot stick into copper wire due to different properties. This might be wrong, might be right.

So I found another solution. Since soldering iron to the switches (mine is clicky, save money for future projects) works but copper wire doesn't, why not buy an iron wire and try it out. If that doesn't work, I'll just let other people do solder.

So yeah. That is all for today, bye :) (REMEMBER TO GIVE OT YOUR OPINION THROUGH MY EMAIL, WHICH IS RIGHT BELOW THIS BLOG)

Blog 4 - ElecTroGraph??

I just started a new project, and it is for engineer's tool to play. It's name ElecTroGraph or simplified ElecGraph. It has 4 functions you can try it out.

  • 1. Motor's Resistance based on different Resistors

    2. Minimum Capacitor Farad Needed to Start Up a Motor

    3. Motor's minimum required resistance to start up

    4. Exothermic Reaction when Motor Voltage Drops (power dissipation)

Well, no LED is being used here, because I don't think that ANYONE would store current for an LED. Besides that, I hate LEDs, but that is for another blog in the future.

Back to this, most of the selections are just resistors except one (2), which is towards capacitors.

This thing took me 45 minutes to make due to false formulas (my school syllabus for CS only explains the Ohms law [V = IR])

Well, I also wanted to include Ohm's law in this project, but I was already tired, so yup.

This is also the most functions' project that I had ever made, with 4 of them. The most I did was 2 (or 1), which is SealKernel.

For the future expectation for this project, I wanted to add UI so that engineers can easily use it, but the problem is I DON'T KNOW HOW TO USE RAYLIB!!! I think I had to get a raylib library cheat sheet and learn the codes.

So that is all. Of course you can contact me what to add for this incredible project.

Blog 3 - SealKernel changes its io library

Got tired of stdio.h by standard C, so why not simplify it? ZLIO Library doesn't need to declare format specifier for the input (btw it is called in) unlike scanf. This is because inside ZLIO library, I classified all types of variable class.

Nothing much to say here but I am happy that I got rid of stdio.h so I can get control for my own project,

Email me if you want to say anything... See you in the next blog.

Blog 2 - Finished zlio library

"What is zlio? " You may ask. zlio stands for ZileLai's Input Output library. Even though Library's capital letter is no where to be seen in zlio's name, it is clearly a library. No way an input-output project isn't a library except for some scenarios. zlio was created back on 10th June 2026. It's been 20 days since the creation and today zlio receive an input function to finally end zlio project. Back then, zlio doesn't have any input function, just output ones. And those 20 days I am busy for exam and basically school stuff.

zlio library is used to "replace" stdio library. Instead of writing "printf" as output and "scanf" as input, zlio uses out as an output and "InputValue input = in" as an input (it might seems long but it's actually better than scanf in one way.

Even though zlio input looks long, you don't need to remember format specifier for in. If you don't know what is a format specifier, it is one thing that stdio uses. For variables, you have to declare what format specifier it is or it will throw you an error.

Back to the topic, zlio don't need format specifier for in, because it is programmed that way.

BTW, if you want to check the source code, go to my github (Zile Lai) and go to repositories and click zlio-input-output-library or just click on the one in this site's main page.

So I think this is all. Email me if you want to share your own opinion

Blog 1 - Switch to a WM

I have been a fan of Linux since last year, due to Microsoft's AI Slop, Bloatware and Spyware. Windows just make me uncomfortable. So 10 days after I released SealKernel. That time was around SealOS/Kernel 2 or 3, I switched to Fedora Linux. I love Red Hat, how they sponsor a lot of open source projects like GNOME. Anyway, that Fedora Linux was on 44, it have a DE, KDE. Other people told me that KDE is the best and I should choose it. So I did. But, I just hate it. I don't like customise stuff. Then I switched to RHEL 10.2. It ships with GNOME and I really like it.

Since I use red hat enterprise Linux, I like it. It has been my AI testing site and I daily drive it now. One problem about RHEL is how annoying is to download packages. DNF won't really work since it just spits out Subscription Manager to me.

Other thing I want to switch is to a WM. WM means Window Manager, where it manages window stuff. It is kind of lightweight compared to DEs like KDE, Unity or GNOME.

Fedora supports i3, and i3 is the only thing that supports Fedora. I want a Linux Distro where it is bleeding edge but stable and close/IS Red Hat Enterprise Linux. So either CentOS or Fedora meets my requirements. So Fedora has i3, so why not after I switch laptop I immediately download Fedora i3?

So what do you guys think? Email me if you can.