- I usually do web development, CLI and TUI development.
- I am confidently fluent in using Linux commands, tools, or even bash scripting (I use Linux as my daily driver for my work).
- I am fluent in Vim motion, and uses VS Code fork with LLM integration, but with LazyVim-derived movements.
- I am that guy who loves to make their own complex configs.
My favorites:
- ๐ TypeScript
- ๐ Rust
- ๐ Kotlin (better Java, Kotlin stdlib, functional allowed)
- ๐ C++ (especially C++17 and up)
I'm pretty good at:
- ๐ Golang (a bit hard to write code elegantly, like writing lamba functions)
- ๐ Java
- ๐ JavaScript (not really liking it because no type checking)
- ๐ x86/x86_64 assembly (on NASM, for OS bootloader stuff, CheatEngine)
- ๐ C
- ๐ Python (was my favourite, but lacks strict type checking)
- ๐ LUA (mainly for Minecraft's OpenComputer/ComputerCraft mod and Neovim Configs)
Things I'd like to learn:
- ๐ OCaml
- ๐ Zig
- ๐ Elixir
I encountered:
- ๐ Go (Hello world program produces big executable, garbage collector)
- ๐ C# (Unity3D game engine script, ASP.NET)
- ๐ F# (Microsoft's pure functional language)
- ๐ Pascal (on TurboPascal)
- ๐ VB/VB .NET/VBScript (on VB6 and Visual Studio)
- ๐ LUA (on Minecraft computer mod stuff)
- ๐ PHP (on Apache)
- ๐ Singkong (built by one of my university lecturer, https://nopri.github.io/)
- My preferred programming paradigm: Pure functional, but some OOP are ok too.
- I loved OOP before learning functional programming.
- I learnt and used OOP design patterns. They're very nice to use. But, most of them are pretty straightforward knowledge in functional programming world.
- I do refactoring only when the time allows it to do so, and I try not to strive too much for code elegance, to prioritize code readability.
- I use Domain Driven Design in my workplace.
- I do use AI/LLM to aid me in quick prototyping, giving ideas, help identify problems, and suggestions.
- Linux distribution I use:
ArchNixOS (Config in: https://github.com/ayangd/nixos-config).
Skills I'd like to learn:
- ๐ฅถ Kubernetes/Container Orchestration
Still learning:
- ๐ง NixOS Configuration (Building my own configuration)
My Favorites:
- โค๏ธโ๐ฅ Web Development with React, Next.js, TypeScript, Tailwind CSS with shadcn-ui (Frontend + Backend Development)
- ๐พ PostgreSQL
- โจ Handrolling scripts in bash, zsh, nushell, TypeScript
- ๐ฆ Vi/Vim/Neovim, even in VS Code forks.
โ๏ธ OpenGL- ๐ Regex
- ๐ก Linux cli, env, and build system
- โ๏ธ Building Linux packages from source code
- ๐ธ TCP/UDP networking, with any programming languages
- ๐ HTTP/1.1 raw TCP communication
- ๐ฆ Low-level bit manipulation (and, or, xor, not, roll, shift)
I tried:
- ๐ Domain Driven Design
- ๐ SOLID principle
- ๐ก MVVM (Model View ViewModel)
- ๐ Clean Architecture
- ๐ Webpack & Vite.js build bundling, for web-based JavaScript bundling
- ๐งถ Raw HTTP TCP socket communication with C, Go, Rust, Java, Python
- ๐ pygame
- โพ๏ธ numpy/matplotlib
- ๐ฎ Unity3D game making
- ๐ค Tinkering with Arduino
- ๐พ MsSQL/MySQL, also to connect from Java and VB.NET to MySQL and MsSQL
- โจ Creating bootloader trying to create an OS
- ๐ช C# ASP.NET
- ๐ผ๏ธ Linux From Scratch (LFS) (Only package installing)
- ๐ฑ Android development, with bluetooth for interface with Arduino peripherals
- โ๏ธ Peer-to-peer networking
- ๐ก๏ธ RSA+ECDH SSH connection concept
- ๐ป Tauri desktop application with web browser technology
- โ๏ธ Creating a Domain Specific Language that uese a new language syntax, like CSS
- โ๏ธ Web Service Worker
- ๐ฅ Solid.js (Similar to react.js) (Liked, but lacks element reordering)