Technology, Reflection, updated bi-weekly

How to build your own ELPA with Eask?

ELPA stands for Emacs Lisp Package Archive. It’s used for Emacs users to download packages from, and it’s also the place where Emacs Lisp developers will host their packages. Here is a list of famous ELPA; see their site for more information! GNU Elpa (official) NonGNU Elpa (official) MELPA ❓ Why? So why do we want to host our own ELPA? Aren’t those ELPAs enough? Yes, in general, you don’t need to host ELPA yourself since most packages you need will be available in one of those ELPA (packages can co-exist between ELPA).

My first VSCode plugin

Repo Link: https://github.com/shader-ls/vscode-shader Aug 23rd, 2023. I’ve created my first VSCode plugin – vscode-shader. My intention was simple: to create a language server’s client in VSCode for my shader-language-server that I created a couple of months ago. 🤔 🔰 Simple and good UX First of all, it is very simple to develop a VSCode plugin. Especially developing a language server’s client for VSCode. There are many examples and good documentation on their site, making it very easy for developers.

Shader Language Server (LS)

Repo Link: https://github.com/shader-ls/shader-language-server April 30th, 2023. I have created my first language server that is actually useful to someone. I tried a language server a while back, but it was just an example server, so it’s not very useful, and it’s only for educational purposes. The target language I chose to write is the ShaderLab language. ShaderLab is used in Unity Engine, so you can write custom shaders to stylize your game.

Long Journey with Emacs

⚠️ The intention of this post is to remind myself why Emacs isn’t worth my time anymore. I’ve been using Emacs since 2015. I have developed more than 150 elisp packages, and maintained over 200 packages (including my packages). It’s been a long journey staying in the Emacs community, I think it’s a good for me to slow myself down and step back a little and think what I’ve accomplished through out these years.

Fastest ELPA

What’s the fastest ELPA? Let’s define it first! The ELPA runs the fastest? No, that doesn’t make any sense. The ELPA serves you the fastest? Maybe. The definition for fastest ELPA in this article means it builds your packages the fastest! You might wonder why and how! Let me explain it to you! Normal ELPA, like MELPA, builds packages from the recipes directory, so it takes O(n) to do so. The more packages one ELPA holds, take longer the time to get packages to update to the server.

Emacs Eask 101 - Build tool

I’ve developed more than 50 elisp packages, and maintain 100 or more of them. Developing an elisp package isn’t easy for a beginner, especially for those who want to publish their package to an ELPA. e.g., GNU Elpa, NonGNU Elpa, MELPA, etc. That’s why I use Eask to help me develop elisp packages. Therefore, in this article, I’m going to teach people how to use this tool to help you build your own elisp packages!

First server migration

I have always been using AWS as my main web hosting choice. But I have come to the point that I reckon the price and services aren’t something that I need. Therefore, I have decided to switch to another web hosting company just for another taste. The main reasons are listed below: AWS charges you money when you click on their services without notifying the user. I dislike how it functions.

Game Jam - Aug 2022

Timeline is placed in summer time, middle of July 2022, one of my friend (@henrykuh) invited me to join the Game Jam that he is going to host in Aug 2022. In the meantime, he has also invited me to rejoin the community MatchWorkshop , and become the headmaster of the Game Programming deparetment. Therefore, this Game Jam is treated as an opportunity to collaborate with other headmaster from other department in this community.

Emacs Eask - Alternative to Emacs Cask

🔰 Introduction The name Eask came from Emacs Cask ; if you already know what Cask is and what it does, please skip this and forward to the next section. (NOTE: Cask and Eask are interchangeable in this section) Eask is the dependency management tool for Emacs Lisp. It’s like npm to Node.js; but it isn’t exactly the same since Eask has fewer tools than npm, plus their ecosystems are slightly different.

First static site generator

I’m recently hooked by the static site generator, hence I have decided to create one for myself. Why not? The huge reason is that I could host the site using the GitHub’s static site hosting services, but the one I have previously created in 2018 API-Reference-Template. is server base, which is not generator base. The static site generator isn’t hard to create, the most valuable technology is the frontend and UI/UX.

Automate Personal License Activation in Unity CI

Following up the thread, My disappointing experience using Unity in a CI pipeline is also the biggest obstacle for me as well. Personal license (free version) of Unity will expire in a period of time depends on your region. The licensing system from Unity is partially contradict to the CI/CD concept since it will force the user to update their secret UNITY_LICENSE on their GitHub Actions. (Notice this does not apply to Plus/Pro users because they use a different licensing system!) 😖