About Me:

My name is Kyle Edward Solomon. I like to program in my free time, but I am also currently going to school for computer science, so it is not only my hobby but also my career path as well. I am currently 26 years old in 2022 and have been interested in computers all my life but have been programming seriously only for the past 7 years or so.

I enjoy making small 2D game engines in JavaScript for fun, since JavaScript was the first OOP (Object Oriented Programming) language that I learned and so I am most comfortable/experienced with it, but I also know many other languages as well. I aspire to one day write programs that people will use and enjoy regularly, and also to work as a part of a team of programmers on a larger project that I could never fathom of making alone, but this website is just a starting point for me.

Site Info:

This website was created for fun, and also to practice what I have learned from the website development languages that I have been studying.

The entire website started out as a completely blank file and I have only used my own knowledge of HTML, CSS, JavaScript, and just general computer science topics and theories to script the entire website manually.

There are much easier and more efficient ways of developing a website now with help from website development software or UI of some type that make it easier for anyone to create a website at practically the click of a button (at the cost of customizability). But I wanted to script this website entirely by hand so it could give me a more thorough understanding of not only the logic behind programming a website, but also the flow and heiarchy of a website's file system on a server.

This is a personal project that I attend to in my free time to help me better understand the proper structure and format for efficient programming as a website developer. I will continue to update this website with relevant content that I have finished creating moving forward.

The website itself should be compatible with most modern browsers. However, the games on the project page are not as compatible and as such I recommend either using Google Chrome, Microsoft Edge, Opera, or even Chromium itself if you play them (or just any browser running the Chromium framework). other browsers like Firefox will still run the games decently but seem to not perform as well, and if you are running Internet Explorer then neither the games or the website itself will work properly as IE is incompatible with them. I stopped trying to support IE once I found out that it will no longer be supported by Microsoft in June 2022, and because IE is missing a lot of useful features in JavaScript like lambda functions and ES6 classical inheritance. This makes it very tedious to have to program differently for only IE when every other browser supports the features I want to use, and so IE will no longer be supported on my website, but Microsoft's currently supported browser Edge will work.

I also tried my best to make my website as device friendly as possible by making the content on each page collapsible so that when viewing the content from a smaller viewport, the content will rescale accordingly to fit the display area. Some of the simpler games on this site also work on mobile devices and were designed with touch controls in mind, but others are too much for mobile browsers and thus they don't run very well on lower end mobile devices, so some must be played on an actual computer, or on a decently powerful mobile device.

When I originally created this website, it had no purpose, and I had no idea what sort of content it should contain so I was just making it for fun and for the experience. But now it is just basically a storage cloud for my various projects that I want to be able to access at any time on any web capable device.

My Experience:

I currently have an associate degree in the Computer Science field and am working towards my bachelor's degree. A lot of my programming experience comes from my field of study, but a lot of it also comes from just watching videos on the internet, messing around with coding recreationally, and looking up solutions to problems online.

I have experience in all the following areas of computer science:

  • Programming in JavaScript, Java, C++, C#, Visual Basic, and 16-bit Assembly on x86 Intel architecture
  • Some experience with Batch file scripting, and Apache server side scripting
  • 2+ years of undergraduate level college training in math and computer science including the following concepts and theories:
    • algebra, trigonometry, calculus, physics, and discrete mathematics
    • control structures, program flow, basic data structures, abstract data structures, recursion, measures of algorithm efficiency and complexity, nature and design of algorithms, top-down development of programs
    • searching/sorting algorithms, databases
    • pointers, dynamic memory allocation
    • encapsulation, class hierarchy, classical inheritance, prototypal inheritance, abstraction, interfaces, object composition
    • number theory, set theory, hashing, RSA encryption, Huffman encoding, obfuscation
    • regular expressions to locate patterns in text
    • multithreading
    • translating binary and hexadecimal to and from base 10, digital logic circuits and other digital components
    • experience in both high-level and low-level languages
    • basic components, basic machine architecture and design, primary and secondary memory, central processing unit, organization of a computer, machine representation of data number systems, machine representation of instructions and data addressing techniques, memory organization and execution of instructions at machine level
    • creating software user manuals and programmer manuals
    • and many more not listed here
  • Adapting to any new programming languages, but most comfortable programming in object-oriented programming languages like JavaScript/Java/C++
  • Website development and server hosting processes/maintenance
  • Slight experience in software such as Photoshop, Unity, and Blender
  • Mac/Windows Operating Systems