-
JavaScript
JavaScript
3 yearsTechnologies:
- NodeJS
- TypeScript
- MongoDB Driver
- ReactJS & React Native
- Firebase JavaScript SDK (Firestore, Functions)
I've written most of my projects in JavaScript, from front end to back. From web servers to mobile apps, JavaScript has been my go-to language for passion projects. Besides basics and concepts, I've learned a lot about JavaScript browser APIs. On top of concepts like asynchronous programming, closures, and prototypes, I am familiar with DOM manipulation, making API requests, and accessing user media devices like video.
I eventually learned that full stack web applications cannot stand on pure client-side JavaScript. I then learned to use the NodeJS runtime environment for server-side programming and making web pages. On the back end of things, I've learned to make use of code libraries. Such libraries include Express for web servers, TypeScript for typed-JavaScript (and awesome code-completion!), the MongoDB NodeJS Driver for interacting with MongoDB databases, and Webpack for module-bundled client-side JavaScript. I've also learned to use the ReactJS library and interact with its ecosystem of third-party libraries for larger-scale passion projects.
JavaScript has brought out the best in me -- but don't take my word for it!
Check out my work!- SoundBird
- PocketLink
- Graphing Calculator
- Blureader ... and more!
- HTML
HTML
5 yearsTechnologies:
- JSX (for ReactJS)
- Templating Engines (EJS, Pug)
All web development projects use HTML in some form. Most of the time, I write my HTML statically or as JSX for ReactJS projects. I am also familiar with separating HTML into modules with templating engines to preserve my sanity and hopefully yours as well. I also like to write HTML semantically, meaning my HTML code isn't just a bunch of meaningless
<div>'s!
Check out my work!- SoundBird
- PocketLink
- Graphing Calculator
- Blureader ... and more!
- CSS
CSS
5 yearsTechnologies:
- Sass (SCSS syntax)
- Bootstrap
- TailwindCSS
Styling websites is one of my favorite parts of web development. With the way websites look so illegally attractive nowadays, however, CSS is admittedly one of my biggest "time sinks." While I know how to manipulate classes from JavaScript, animate my HTML, craft artistic grid or flex layouts, and style pseudoclasses, I can spend hours upon hours tweaking my CSS styles.
To tackle design fears, I often turn to the Sass preprocessor for cleaner CSS code or the Bootstrap component framework for quick styling. For a more permanent solution, I am working on crafting my designs before leaping into CSS code by using applications like Adobe XD.
Check out my work!- SoundBird
- PocketLink
- Graphing Calculator
- Blureader ... and more!
- Java
Java
2 yearsTechnologies:
- Java Swing
Through academic courses and projects, I was able to understand the object-oriented realm of coding. For coursework from high school to university, I've learned about classes, concepts such as inheritance and polymorphism, and many of the fundamental data structures and algorithms.
Projects I've worked on include a "micro Facebook" built from scratch using a Hash Table and Java Swing and an airport traffic control simulator built on a priority queue.
Project source code unavailable due to course policies. - Command Line
Command Line
3 yearsTechnologies:
- Bash
- Git
Learning the Command Line has been a rewarding experience. I was first exposed to it when I started web development with NodeJS. The Node Package Manager packaged with NodeJS taught me many things. Hours of installing packages, removing them, and wondering why paths didn't work prepared me for errors I can quickly identify today.
At the same time, I learned how to change directories, search text files, and pass data through pipes. I also learned about Version Control with Git and Github.
Most of my practical applications with the Command Line are done through Bash. One of the most satisfying ways I've applied the Command Line was with a file renaming script that removed repetitive file names.
With my knowledge of Bash, I've also explored Linux operating systems and have become familiar with the Vim text editor, SSH, and SCP while connecting to remote cloud-hosted servers.
Things I've done with the command line include:- Host Minecraft servers on Microsoft Azure and the Google Cloud Platform
- A script that renames multiple files
- Git Version Control
- NodeJS Package Management
- Linux Package Management
- Add binaries to the Windows path environment variable
- NoSQL
NoSQL
1 yearTechnologies:
- MongoDB
- Firebase Firestore
While I've dabbled with traditional SQL databases, I've done the most of my database-related programming with NoSQL databases. I was attracted to the structure of NoSQL databases because technologies like MongoDB and Firebase Firestore store data similarly to JSON, or JavaScript Object Notation. I was attracted to these databases out of my experience with JavaScript.
With MongoDB, I've learned to use the MongoDB shell. Database queries used in the shell are nearly identical in JavaScript, so a few projects I've worked on use the MongoDB NodeJS driver. Such queries include finding, inserting, updating, deleting. Finer queries I've learned about include updating values within arrays, sorting, and uploading files. With these queries, I've learned to create REST APIs.
I've also had a liberating experience with Firebase Cloud Firestore. Making queries on client-side JavaScript and not having to handle servers is quite satisfying, since there's virtually nothing to set up on the back end of things.
Check out my work!- SoundBird (MongoDB)
- PocketLink (Firestore)
- The Basics of Python
Python
Experience: A Few Months
I've heard a lot about Python. It is concise, yet meaningful... there's a lot of powerful libraries written in it, especially for machine learning... and there's no braces or semicolons!
As of this August of 2020, I know just the basics of Python and have tried out a few libraries like Flask for web servers and Keras for deep learning, but have a lot to do to truly understand the language and its most promising libraries.
I am currently on a quest to learn the deep learning libaries written in Python so I can supercharge my web applications with expanded possibilities! - C & Assembly
C & Assembly
Experience: A Few Months
At the low level of computer programming, from a computer systems course, I've become familiar with C and Assembly (AT&T Syntax).
So far, I've gained deeper understanding of data types, bitwise operators, and optimization through the basics of these languages. As a computer science student, I intend on learning more about these languages.
- Python for Deep Learning
- Cloud Platforms
- Kali Linux
- SQL
- Unity
- JavaScript libraries & frameworks (Testing libraries, GraphQL, Angular)
- ...really just anything!
To-Do
The list of skills above is not everything I am capable of, but of course, there
are
many
other things I'd like to add to this list -- once I can say I am familiar with
them
and have created a project with them. Here's a list of things I am working on or
will learn in the near future!
- SoundBird
- PocketLink
- CS46B
My Hobbies
Work hard, play hard! That's what my dad tells me... and probably a lot of other
parents out there to their children too. I love making things with code, but there's
a
human behind this keyboard who indeed does get
burnt out. I have other hobbies too!
Hobbies besides programming
- Tabletop Role-Playing Games -- Dungeons and Dragons!
- Geeking out over Star Wars -- it's a family tradition!
- Cooking -- following online recipes is fun!
- Music -- keyboards and brass; currently learning game music composition with Ableton Live.
- ...and more!