RSSAmplifier

Blog

Jen-Chieh's Website

Recent content on Jen-Chieh's Website

jcs-profile.comRSS feed ↗34 posts

Latest posts

Treat Emacs as an Elisp Runtime using Eask

Repo link: https://github.com/emacs-eask/cli In 2023, I wrote an article about the Elisp Language Server . It was one of several experimental projects exploring Elisp as an execution environment. While developing Eask , I serendipitously discovered it was an intriguing program that could effortlessly wrap Emacs into a runtime. Why do I say that? Let’s take a look: 🔰 Running Elisp Programs…

TDD in different view

Here I’d like to document my thoughts on TDD . This article isn’t intended to explain TDD in detail—it’s not a tutorial. 🌐 Online Explanation Let’s first look at the online explanation: TDD Simply put, it means writing tests first, then implementing the code. This is actually quite challenging for many programmers. The main reason is that it feels overly tedious, making…

What does 50,000 hours of craftsmanship mean?

A few weeks ago, I suddenly had the idea to calculate how much time I had spent on programming (including learning). This led to some reflections. The calculation formula is as follows. Average hours per day × Number of days in a year × Total number of years I started programming in the spring of 2013 and decided to fully commit to it in 2014. On average, I spend between 5 and 16 hours a day…

Problem with Game Designers communicate with programmers

I’ve been wanting to write an article about communication issues among game designers for quite some time now. This issue has been simmering within the gaming industry for some time and has been troubling me as well. As a programmer, how can I communicate more smoothly with planners? This article simply aims to document the situations I have observed and, by the end, hopefully provide a better…

Problem with LeetCode and SWE jobs

This is a rant about software engineering interviews and LeetCode . 🗯️ Preamble In 2024, hundreds of thousands of people worldwide are grinding through LeetCode , aiming to break into the tech industry, drawn by the high salaries it offers. 🤔 What does LeetCode actually bring? LeetCode offers little more than these benefits: Algorithm exercises and data structure knowledge Coding under pressure…

Being 10x engineer in my first job

Recently, I came across a post on LinkedIn with the eye-catching title, “I think I’ve met a 10x engineer.” But as I read through the post, I started to have doubts. The author described how one of their colleagues had managed to fix a bunch of complex bugs in a short amount of time, which left them in awe. 🤔 But is that really what defines a 10x engineer? It brought back memories of my own…

Elisp Language Server

Repo link: https://github.com/elisp-lsp/ellsp I’ve recently created a language server for Emacs Lisp. It’s interesting since people don’t think a language server for Emacs Lisp will provide any value. The statement is correct, and so do I. Emacs Lisp is only used within the Emacs editor, and Emacs itself is an Emacs Lisp interpreter. Therefore, a language server for Emacs Lisp would hardly bring…

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…

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…

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…

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…

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…

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)…

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…

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…

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…

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…

Why I left USYD

WIP WIP 💬 Past experience WIP 😨 Puzzled WIP ❗ Awakening WIP 💬 Future WIP

In a dilemma

This is a record, a message from me to one of my ex-firned. The talked was, 2020-05-06 While you are in a dilemma, we humans are totally normal to be afraid of it. This may be a process; afraid makes us strong and a much more experienced people. Humans suppose to grow like that! So let it be! Once you are afraid of something, don’t give up on trying it; think about the issue, think as hard…

What I am about to do

Productivity is topic that often is ignored by a lot programmer. I have seen a bunch of documents out there talking about algorithm and data structure, so I would like to post a topic about productivity for an advanced programmer or for the programmer who wants to be a better programmer. So what exactly mean productivity in software development field? If you have seen my previous blog post '…

Art, Design, Programming

When get started to the game development, people will somehow face some sort of situation that they will need to determine what they are going to master to do in the development. The game development are mainly split into three careers, which are ‘Art’, ‘Design’, and ‘Programming’. These three jobs are very different to one the other. The best method to figure…

API Reference Template

Demo: http://www.jcs-profile.com:3000/Manual/index.html GitHub Repo: https://github.com/jcs090218/API-Reference-Template Many of my works are about making API. I always have their trouble making API documents for myself and for people to read what each API does. To resolve this issue, I spent a few hours to design a small website that I could drop the HTML file in the target folder and it will…

Parallax Website

Link: MapleStory Survival Kit This is the final project from the first class of web development from our school. I joined this class as an elective class so I could have a peek of how web development works. A list below is few highlights I would like to show from this project. Parallax Effect Use of Sound Gashapon 👁️ Parallax Effect Most parallax effect I have seen aren’t quite satisfied to…

JCSUnity - Save System

This is a introduction of how JCSUnity does for the game data save/load system. There are main three ways that you could do saving and loading in Unity Engine with C#. JCS_BinGameData - In binary format JCS_XMLGameData - In XML format JCS_JSONGameData - In JSON format

JCSUnity Overview

JCSUnity Repo: https://github.com/jcs090218/JCSUnity Acknowledge I have developed this tool for 3 years. Starting from the third year of my college years. Compare to other framework I had developed, this tool have much more completeness. I have been using Unity Engine for 2 years while I decide to develop this framework. I have made cetain of games in this 2 years and I reckon I gained enough…

Emacs vs Vim

Precisely that I am neither an Emacs nor Vim expert. I am just an amateur that knows about the two editors with just amount of knowledge. If you check out two of my Emacs and Vim repo, this could be the worst experience of all time. I hold onto an idea that the editors are just a tool. Unless there are issues that hamper or paster my workflow, I will avoid changing the configuration to my editor.…

Best Editor Ever

First the foremost, this article is all subjective opinions by me, and there are all kind of text editor for any kind of programmer. I think some programmer have some kind of religion, so I am not going to tell anyone to use any particular text editor. I believed text editor is just tool to help programmer make a software and get their job done. At my previous post ' Framework I have been…

Productivity

Productivity is topic that often is ignored by a lot programmer. I have seen a bunch of documents out there talking about algorithm and data structure, so I would like to post a topic about productivity for an advanced programmer or for the programmer who wants to be a better programmer. So what exactly mean productivity in software development field? If you have seen my previous blog post '…

Framework I have been working on

The story start when I have difficulty when I was working inside one of our class in college. It is a collaborative class that all kind of experts work on the same project, and of course for game development students we decide to make a AR game. Well, the dream always big and great, but when it get into reality it always not going to be fun, especially when you are making a game and work in the…

About Me

I’m not fond of talking about myself. Primarily I’m nobody, not phenomenal, and never been onto news or other media, not any of those. Is hard to think that who will spend their precious time reading this ‘About Me’ article. I would desire not to write a verbose introduction about myself. I’m currently 24; I wouldn’t say that I lived long, but long enough for me…

Start blog announcment

I have heard about people saying that writing a blog is a good idea. And here is it, I am going to write a development blog for myself. I have been coding for years and would like to share what I had been through and talk about more like what I think is significants to a programmer. What are the jobs and tasks to the programmer and what does programmer does?

Contact

Do you have a project in mind? Want to hire me? or simply wanna chat? Feel free to schedule a meeting .

Projects

This page showcases a selection of my personal, professional, and academic projects. The source code for most of these, along with additional projects, is available on my GitHub and GitLab accounts. All of my open-source projects are maintained as needed, unless stated otherwise. The dates listed below indicate when the majority of the major development took place. 💸 = Professional work 🏫 =…