3DPhysicsEngine

Last Commit:2026-06-01T02:15:59Z Bytes: 22327
Python

3DPhysicsEngine

A general phsyics engine made for 3 dimensions, which for the most part works. The issue I’ve encountered is one of floating point precision in mathmatics. I’ve looked into ways around this like Runge Kutta, but I’ve yet to implment things (so right now an object will gradually gain energy over time even without any forces acting on it).

The engine is based in python and uses ursina to render objects.

For more information please visit: https://github.com/Noah2024/3DPhysicsEngine

422-tsiraM

Last Commit:2026-05-29T19:17:22Z Bytes: 40586
TypeScriptShellJavaScript

tsiraM-6502

tsiraM is a virtual 6502 processor written in TypeScript and running on Node.js. This project is the practical component of Prof. Gormanly’s Computer Organization and Architecture class. This project strives to accomplish the following goals: - A deep understanding of how the machine works. There is no better way to learn how computers actually work than to build one! - You become a high level master of code by using OOP to create a virtual machine - You become a low level ninja, creating programs in machine instructions to run on your creation! Enriching your understanding of the world below your compiler. - Your design and debugging skills are pushed to solve problems that will melt your brain. You will debug machine level code you write on a machine you built!

What does tsiraM mean?

The project needed a name, I like WebOS since this project is built on web technologies and the long term plan is to use this VM as the basis for a Operating Systems project. In that project you will build an OS that can run on this VM. Unfortunately, while the name WebOS makes sense for these reasons, I do not like talking to Lawyers so I have decided to use tsiraM instead. tsiraM is something I bought the .dot com for a while ago and have not gotten around to using it for anything. If it makes no sense, keep trying, I left a clue. The ‘M’ might stand for Microarchitecture, or maybe not. I wonder if the lawyers will come anyway? Regardless this is a good name until something better comes along. Maybe SObeW instead?

Credits

This software is an adaptation of a project created by Dr. Alan Labouseur’s for his Operating Systems (CMPT 424) course project. That project builds a very cool operating system on top of a rudimentary virtual 6502 CPU. This project focuses on building a robust and complete 6502 architecture and instruction set. You will be creating a 6502 emulator programmed using TypeScript that will run on server side JavaScript in Node.js. Here are references to Dr. Labouseur’s original projects: - 2019 version: https://github.com/AlanClasses/TSOS-2019 - 2015-2018 version: https://github.com/AlanClasses/TSOS

There are plans to possibly expand this project in a way that would allow you to continue to use it to build an adapted version of Dr. Labouseur’s OS project on top of. Here is an architecture diagram showing how this is planned currently. tsiram-6502

Getting Started

To setup a development environment for tsiraM, you will need the following installed and setup: - A terminal (If you are on windows I recommend gitbash which can be installed as part of your windows git client installation. - Node.js / npm - TypeScript (via npm) - A text editor / IDE (I recommend VS Code or Intellij if you are getting started with TypeScript)

If you already have Node.js and TypeScript installed you can skip ahead to the ‘How to run’ section below.

Installation

Node:

Mac 1. Recommend installation with homebrew: brew install node 2. You can use the following to download and run a pkg file:

curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"

Windows: There is a installer to download from Node.js website

Node getting started: https://nodejs.org/en/docs/guides/getting-started-guide/

I particularly like this resource as well: https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/development_environment

TypeScript:

Documentation: https://www.typescriptlang.org/docs/home.html

Installing TypeScript: https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html npm install -g typescript

How to run

First run npm install to install node dependencies

Next, TypeScript must be compiled before you can run and after you make changes to TypeScript (.ts) files. There is a provided bash script called ‘c’ in the project root. You may need to add execute permission to the file before you can run.

Once you run it, you should see that a dist/ folder is created in your project home and it contains the JavaScript that your Node.js server will run.

To start the node server run npm start that’s it!

Once you have your project going, you should be able to recompile using the ‘c’ bash script and then ‘npm start’ to run node.

@types/node

Type definitions to be used for Node.js. This should be installed when you run npm install to install dependencies. See : https://www.npmjs.com/package/@types/node If they are not installed you can manually do so this way: npm install @types/node --save-dev

For more information please visit: https://github.com/Noah2024/422-tsiraM

personal-website

Last Commit:2026-06-04T16:47:22Z Bytes: 40807
JavaScriptCSSShellGoHTML

personal-website

This repository contains the source code for my personal website project. It includes a basic Go HTTP server, frontend templates, static assets, and scripts used to include new projects, the sites index is compiled statically using node. All animations are done natively in html css and javascript. Github webhook configured to automatically update deployed instance of server at indoshon.com.

Overview

  • main.go launches a simple Go server.
  • http_server/ will contain routes and server logic when the need arises.
  • templates/ holds HTML templates used by the site.
  • static/ includes CSS, fonts, and image assets.
  • projects/ stores project data as well as interactive demos where possible, generated with populateProjects.sh
  • populateProjects.sh + getFromGit.sh + updateSystemd.sh are used in an automated CICD pipeline on my homeserver to automatically pull and update changes made to both the website and web routes

Notes

  • Template and static files are organized under templates/ and static/ for site rendering.
  • includedProjects.csv may be used to control which projects are published or listed. Only adds new projects, does not remove ones already listed, that is still done manually
  • Currently the one demo for tsiram is built dynamically at runtime, rather than statically. That is because I didn’t want to deal with compiling wasm into the final static version.
For more information please visit: https://github.com/Noah2024/personal-website

INDOSHON.com

Welcome friends, family, countrymen, (potential employers), welcome to indoshon.com. The personal website managed by and for Noah (indoshon) Yurasko, enjoy! (and if you're thinking 'now who tf actually is Noah', luckily there is something called an about me section) Please peruse the few personal projects (one or two from groups) which I actually am proud of.

Projects Worthy of Being Seen

3DPhysicsEngine

Last Commit: 2026-06-01T02:15:59Z Bytes: 22327
Python
# 3DPhysicsEngine A general phsyics engine made for 3 dimensions, which for the most part works. The issue I've encountered is one of floating point precis...
click for more info

422-tsiraM

Last Commit: 2026-05-29T19:17:22Z Bytes: 40586
TypeScriptShellJavaScript
# tsiraM-6502 tsiraM is a virtual 6502 processor written in TypeScript and running on Node.js. This project is the practical component of Prof. Gormanly's...
interactive demo available

personal-website

Last Commit: 2026-06-04T16:47:22Z Bytes: 40807
JavaScriptCSSShellGoHTML
# personal-website This repository contains the source code for my personal website project. It includes a basic Go HTTP server, frontend templates, stati...
click for more info

About

I am a Dual Major Junior at Marist University, looking to find experiences upon which I can build upon my programming and mathematics experience. My interest in Computer Science as a topic of study stems from my fascination with the seemingly infinitely complex digital machines that have become commonplace in our daily lives. I've always had a desire to understand and even create these systems on my own; it's this desire to unlock the unknown that is why I've recently added a mathematics double major.

I am a very staunch supporter of the right to repair and firmly oppose the way tech is currently being used to mine data on individuals for advertising and dynamic pricing. Most recently I've taken an interest in learning Golang as well as Arduino, for which I will make projects I'm proud of sometime soon.

AI Policy

My personal AI Policy is quite simple, never allow AI to think for you. This manifests in many different use cases, such as finding documentation and syntax that may be obscure or hard to find, or bouncing ideas when working in spaces and with codebases I am not familiar. It's because of this policy I have not significantly explored AI-driven workflows such as Claude Code; I personally always like to be in the driver's seat, even when working with AI tooling.

This policy is rooted in the belief that it's a REALLY BAD THING to allow all human knowledge to become a utility bought and sold by big tech. Cause seriously, having our ability to think slowly degraded then sold back to us just so some rich asshole can become even richer is genuinely terrifying.

Contact

ndyurasko at gmail.com

781-960-79843