Email me at swernofsky.r@northeastern.edu and I can grant you access to the source code of the projects that are currently private!
My friend's birthday was coming up, and I wanted to somehow celebrate with a website and confetti. None of the slideshow-creation services I know of include confetti, so I made my own! And then I made a template of it for others to use! Experience the interactive web experience live here and also check out the source code here.
My (very condensed) version of the classic arcade game, built with Javascript Canvas.
I made and used an assortment of different data structures during my enrollment in Northeastern's CS 2510 Accelerated course, including:
Check out the source code here!
An interactive editor for creating simple animations with keyframes. Built with my friend Marc in Java with significant attention to design (including using the MVC pattern). Supported shapes include rectangles and ovals, and supported operations include transformation, resizing, color changes, and rotation. There are multiple viewing formats, including text, SVG, visual view-only, and an editing mode.
This project was created for a class I took called Object-Oriented Design. The instructor has requested that the source code not be made public, but it can be viewed by private request!
A text-based game of Marble Solitaire, made using the MVC (model, view, controller) design pattern. Different boards can be played using command-line arguments.
This project was created for a class I took called Object-Oriented Design. The instructor has requested that the source code not be made public, but it can be viewed by private request!
Coming soon!
This project was created to solve problem 1 of this assignment for Northeastern's CS 2510 Accelerated course. It models simple binary rule-based cellular automata, arranged in a line. The program starts with a single row of square cells whose states are either on or off. On every tick, a new row of children cells are generated from the previous row using the binary representation of a specified rule. Certain rules cause interesting patterns to emerge. Try out 30, 54, 60, and 182!
This project is a Huffman encoding program, created for problem 3 in this assignment for Northeastern's CS 2510 Accelerated course.
Given an alphabet and the relative frequencies of each letter, it creates a binary code for each letter, such that letters that show up more in the language (have larger frequencies) will have shorter codes, while letters that show up less often in the language (have smaller frequencies) will have longer codes. When using a code to represent a word in a language, on average, a code produced through Huffman encoding will be shorter than an encoding algorithm that gives every letter a code with the same length.
Look at the source code here!
An interface for squishing photos using seam carving! A photo is represented by a graph structure of pixels, which each have a value associated with how "important" they are to the image based on differences in the brightnesses of the pixels around them. Seams are found by finding the cheapest path through the image and removing those pixels with garbage collection through careful rearrangement of pointers.
Interesting features include toggling between color view, black and white, and a heatmap, as well as toggling between vertical and horizontal seam removal, and painting the seams before removing them.
This project is based on this assignment.
Quicksort, ported from C to x86 assembly. It was built for Computer Systems, a class I'm currently taking in Fall 2020, so I can only give out the source code by request.
Several different data structures in C built for my Computer Systems class, including:
This was made for Computer Systems, a class I'm currently taking in Fall 2020, so I can only give out the source code by request.
Cover to Cover is a film my partner and I made during our senior year of high school for our Film Analysis class. In class we learned about how elements such as cinematography, color, sound (and music), lighting, acting, dialogue, editing, and length of scenes can be used to create a message without explicitly saying it.
This film shows the story of a book throughout its lifetime without (many) words. The film uses everything we learned over the course of the year, and it even won the "Best Cinematography" award at our school's Film Showcase! Click here to see it!
I love experimenting with cooking/baking, and thought I'd accumulate the recipes that I love and use frequently in one place! It's currently a work in progress, but you can check out future recipes here.