Mar 3 · 6 min read · Neovim Setup in 2026: A Modern Configuration Guide Neovim in 2026 is a different beast from the Vim of a decade ago. Native LSP support, Treesitter-based syntax highlighting, and a rich Lua plugin ecosystem make it a genuinely competitive IDE -- if y...
Join discussionFeb 16 · 2 min read · Continuing my SOLID journey, today I studied the Liskov Substitution Principle (LSP) — a principle that protects systems from fragile inheritance and unexpected behavior. 🔹 What does LSP say?If S is a subtype of T, then objects of type T should be r...
Join discussion
Jan 15 · 7 min read · Setting up Language Server Protocol (LSP) support in Neovim used to mean juggling long configuration files, custom autocommands, and a fair amount of trial and error. While nvim-lspconfig has always provided the building blocks, managing when and how...
Join discussion
Dec 23, 2025 · 4 min read · 關於LSP 接下來進到L了,這裡的L指的就是里氏替換原則 (LSP , Liskov Substitution Principle),這是許多後端工程師覺得最「抽象」的一個原則,但它其實是判斷「繼承 (Inheritance) 是否被濫用」最重要的標準。 什麼是里式替換 (LSP)? 「子類別 (Subclass) 必須能夠替換掉它們的父類別 (Base Class),且程式的行為不會發生錯誤。」 簡單來說,如果程式碼依賴於一個父類別(或介面),那麼隨便塞一個該父類別的「子類別」進去,程式都...
Join discussionOct 14, 2025 · 5 min read · I’m trying a few new things. I’ve got a project that I’ve been experimenting with and I plan to publish as open source at some point. For this project I decided to revisit my old friend TypeScript. It’s a language I’ve used in the past, but I haven’t...
Join discussionOct 6, 2025 · 7 min read · The Problem Every Developer Faces with AI Coding Assistants You've probably experienced this frustration: you ask Claude, Cursor, or any AI coding assistant to write a function, and it confidently generates code that looks perfect at first glance. Bu...
Join discussion
Oct 5, 2025 · 2 min read · As per the book's definition: Objects of a superclass should be replaceable with objects of its subclasses without breaking the application. It means consider the following example: class Bird { public void fly() { System.out.println(...
Join discussionMar 21, 2025 · 2 min read · Spent some time in the lab fine-tuning RSVP-TE over an MPLS Core in EVE-NG. The goal? Build a fully operational LSP across the service provider backbone, ensuring label switching and TE constraints work as expected. But... I ran into a classic issue:...
Join discussion
Mar 16, 2025 · 2 min read · This blog provides a comprehensive guide to setting Up a Clojure development environment on Linux with Emacs. Install JDK (Preferably OpenJDK) To get started, install OpenJDK. For example, download version 23.0.2 from the official site: wget https://...
Join discussion