Hi, I'm Scott Ti
About
My name is Scott Ti (pronounced "tea"). I was born in Seattle and raised in Southern California. My first experience in programming was around 2009 when I got my first laptop, a late 2008 model MacBook. I started by coding small terminal programs in C using Xcode.
Since then, I've learned a ton about computer science fundamentals and programming in general. I love learning to use new and cutting-edge technologies, even when they're not very well adapted. This website, for example, is a form of practice to learn Svelte/SvelteKit.
Currently at Boeing as a Software Engineer.
Things I Use
-
First, a Mac user, then Windows, and now Linux. I've learned to appreciate FOSS and use Linux as my main operating system. In addition to being FOSS, in a minimal distribution like Arch Linux, there is virtually no bloat and is very lightweight. I feel I have complete control over my operating system. The customizability is unmatched with the Arch User Repository. I'm able to quickly and easily install any program I'd need in a matter of just one or two commands as opposed to going through whatever website, finding the download link, and installing it. Another factor that led me to choosing Arch is the wiki. The wiki is well-known for being quite detailed and very informative in terms of anything you'd want to configure or install in case you need to troubleshoot or learn more. Migrating to Arch Linux also presented a learning opportunity and a chance to deepen my understanding of it's underlying technologies. Arch Linux encourages me to delve in and explore the intricacies of the OS, giving me a hands-on approach to learning more about a system that I truly own and control.
VS Code + VIM - Text Editor/IDE
I've used beefy IDEs and lightweight terminal text editors like Vim/Neovim. I loved Neovim so much that I contributed to a popular Neovim config called NvChad. (I fixed a typo in the docs) For now, I've decided to use Visual Studio Code with a VIM extension as my main text editor/IDE. The greatest reason is the ability to efficiently debug. Sure, I could use GDB to debug C/C++ and JDB for Java. But debugging on VS Code feels like stepping into the future. I save so much time being able to constantly view my variables while seeing where I am in the code, I feel like I can never go back. The ability to use extensions beats out any IDE dedicated to certain languages like Eclipse/IntelliJ for JVM-based languages or PyCharm for just Python. I can run unit testing AND have integration with version control systems all from VS Code. Yes, I know VS Code is just chromium and consumes much more resources, but it isn't nearly as much as Visual Studio 2022 or a JetBrains IDE. For some time I have also used VSCodium, an Open Source version of VS Code. Unfortunately, many extensions from the Microsoft marketplace are simply prohibited from existing in the VSCodium marketplace, so for now, I'll keep using VS Code.
Firefox - Browser
bspwm - Xorg Tiling Window Manager
Hyprland - Tiling Wayland Compositor
Zsh - Shell
lf - Terminal file manager
More to come soon.
Projects
A web app that provides the prices from major retailers such as Amazon, Walmart, Target and Costco. Created collaboratively with 3 other people using agile methodology. Now deprecated due to scraping conflicts.
A functional and beautiful (in my opinion) sticker store. Firebase used for user authentication and storing cart data. No transactions, just add stickers to the cart.
A deep neural network with backpropagation made from scratch without any ML libraries. Detects and learns patterns of handwritten digits using the MNIST dataset.
A fully-functional To-Do list web application made with pure JavaScript and CSS only. Uses local storage to store list data.
Very rudimentary implementation of the classic game, Battleship. This project was a practice of test-driven development using JavaScript and Jest.
Recommends music based on user and friends' listening habits and social networking. An algorithm assignment where I experimented with graphs and relationships between data.
A simple memory card game. Includes two game difficulties. One of my first projects using React.
A temperature humidity monitoring and alarm system. When the humidity reaches any set threshold, the buzzer will beep and the current time will freeze until the system is reset.
A library API/Website used as a way to learn Express, Pug templates, and developing general APIs on the web. Utilizes compressed responses and rate limiting in production.
My dotfiles for Arch Linux. Currently running Hyprland and loving Wayland.