I do desktop programming, mobile development, web development, server development, and electronic programming with Arduino. I am fluent in navigating with basic Linux (or *nix) commands, and have some understanding about how computer system works.
My favorites:
- ๐ TypeScript
- ๐ Rust
- ๐ Kotlin (better Java, Kotlin stdlib, functional allowed)
I'm pretty good at:
- ๐ Java
- ๐ JavaScript (not really liking it because no type checking)
- ๐ x86/x86_64 assembly (on NASM, for OS bootloader stuff, CheatEngine)
- ๐ C/C++ (utilizing libstdc++ and smart pointers, but still prefer Rust)
- ๐ Python (was my favourite, was lacking type-checking variables)
Things I'd like to learn:
- ๐ OCaml
- ๐ Zig
I encountered:
- ๐ Go (Hello world program produces big executable, garbage collector)
- ๐ C# (Unity3D game engine script, ASP.NET)
- ๐ 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 preffered programming paradigm: Functional + Object-Oriented Programming (Kotlin, Rust, and TypeScript/JavaScript allows this).
- I do refactoring when necessary and sometimes use design patterns like Builder, Factory, Observer, though I do not overuse them.
- I like the idea of Clean Code, Domain Driven Design, and SOLID principle. But, I usually goes with my own style while still maintaining the code readability and ease-of-change for others and for my future self (also prefers to avoid overengineering).
- Linux distribution I use: Arch (not Manjaro or any bundled distribution with Desktop Environment out of the box). (Might use NixOS later).
Still learning:
- โ๏ธ 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
My Favorites:
- ๐ฅ Solid.js (Similar to react.js)
- โค๏ธโ๐ฅ react.js + expressJS/next.js + TypeScript + Sequelize (Full-Stack Webdev)
โ๏ธ 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