About

Welcome to the about page, where you can find more information about who I am, why I'm interested in CS, and what I can do. Feel free to reach out if you have any questions, and thank you for spending time getting to know me better!

About
 

Profile image of me
Profile image of me

Hello! My name is Wolf Mermelstein, and I'm a CS major at Case Western. I'm a rising sophomore at Case Western and graduated from from Bard HS Early College. Last summer I finished a Recurse Center programming retreat, and this summer I'm "nevergraduate"ing again!. This website was created initially as an excuse to teach myself fullstack, but has morphed into a space for me to dump useful information about techy encounters, projects, and myself. Hopefully this page, in conjunction with my resume gives you more insight into my interests, skills, personality, and abilities.

As a person

I'm pretty meticulous and curious. I love taking copious notes, and care deeply about open-source and contemporary issues surrounding data monopolization and privacy. One of my greatest fears is heavily relying on a software tool day-to-day only to have the service go down unexpectedly in the future, like link rot. When I code, I aim for style as much as precision, and, I enjoy coding things that yes, are genuinely useful, but that are technically interesting and approach things in unique ways. I've had a variety of eclectic hobbies like fermenting yogurt, I love everything caffeine, and am also really into strategy board games and occasionally RPGs (my favorites are probably Inis, TI4, and Dead of Winter).

Interest in Tech

To put it briefly, it stemmed from my love of problem-solving and figuring things out. I enjoy learning through doing and tinkering, and it has led me to undertake multifarious personal projects. I've always liked hands-on things like crafts, and used to be interested in acrylic painting and sowing. For a while, I undertook many experimental pursuits like bulk kombucha brewing. Early on I was interested in design: I went through a phase of 3D modeling (like designing a collection of 3d-printable avocados), Adobe Illustrator, and cinematography with Premiere. Through various different design projects, I grew to learn that though I did and still do enjoy design, it was the design software itself that interested me most. I love learning about advanced program features and messing with configurations. Throughout my earlier, exploratory stages of life, this interest in innerworkings and tech in general has persisted. Interacting with interfaces was never enough for me though; I'd always wanted to learn more about the actual underpinnings of apps. And since I didn't have any proper coding classes in elementary school or middle school, I decided early on in high school that, like for various other interests, I'd just have to take it on myself. Of course by now I've done academic coding, but most of what I know is self taught.

Getting Started

Like many, I began with Python, which is still very dear to me. I began with a Pig-Latin translator, and basic things like a terminal-based tic-tac-toe game, but I quickly grew bored of copying project ideas and decided to adventure off into more complex things I didn't even know how to begin -- which is in my opinion the best way to learn. One of my first personal coding projects was a D&D character sheet viewing tool. I also designed some simple scripts to move around and organize my computer's windows, and contrived various other automation tools; I didn't get into actual shell scripting until recently, but I've always found it fun to hack things together.

Over 10th grade summer when I began my first larger-scale personal project: Minecraft username sniping. It was a very simple concept that was, in practice, extremely complicated and fun to implement. I coded systems to automatically attempt to grab desirable usernames (like real-world usernames) at the exact millisecond they were to free up (after users changed their username), and then held auctions to resell the accounts with the valuable names that my bots automatically claimed. It was exhilarating to work on such a time-sensitive and large scale project: I sharpened my understanding of OOP and Python while learning how to automate server deployment, a bit about SFTP, integrating with APIs, how to write async Python to implement concurrent requests and more. While by the end of that summer, Mojang ended up making many breaking changes to their API and I sold the project, it was then clearer than ever that software was my ultimate passion and one that I'd need to further explore.

In 12th grade I set up a custom data-structures tutorial-course with another student and our CS professor, where I got to learn the basics of some CS concepts that I missed during my more informal project-based experiences. In the 'course,' since I and a peer were the first to undergo it, we worked to design a curriculum for us, but also for future students, since the plan is to eventually make it a regular class at my former school. Around the same time, I also began working on a DNA-Nanotech design tool, which took the form of a research project with my physics professor. It let me more meaningfully apply the skills I picked up informally, and was a great opportunity to learn more about the issues accompanying UI/UX design and maintainability. Integrating CS into a completely unfamiliar field was really fun and rewarding. Via the project I was able to create a design tool of my own, which was something I'd always wanted to do, and towards the end of the year, I had a great experience attending the Nadrian Seeman Memorial at NYU, learning more about the field and its frontiers.

However, since graduating, I've shifted my focus to explore additional new CS areas. When working on my Minecraft sniping service I was quite engrossed in the idea of backend API design and wanted to look further into webdev. To start, I decided to self-teach the fundamentals of HTML/CSS, to create a basic about-me page for myself. At around the same time, I decided that it'd be best to put the knowledge to use building more advanced personal website, since I've found that my favorite way to learn is through implementing into projects with actual utility, and it was through this initial dive into front-end, along with being surrounded by many other amazing techies at Recurse, where I (perhaps as usual) spiraled down a chain of rabbit-holes that led me to spend significant time learning javascript/typescript, react and nextjs, and various other fullstack tools like postgress and S3. I came to once again find a love working with the tooling of the field, just like tinkering with design software when I was younger.

Now, at Case, I've started diving further into the weeds of CS through formal courses. Towards the end of the summer, I taught myself Java so that I could skip past intro CS, and have taken some prerequisite courses for topics I'm interested in. It has been very enlightening to see what happens 'under the hood,' and to understand some of the math behind computer systems. Last year I took a Linux Scripting and Tools class, which has been amazing, and has completely changed my computer interaction trajectory; it's turned me into a Linux geek. Learning about so many super cool hacky tools like vim, grep, and awk has been sublime.

Some Skills

This is where I try to list some things I think I'm good at. Obviously it's not a comprehensive list, but it's what comes to mind.

Linux

I've been using Linux for a few years now, and it's been a ton of fun. I really like toying with the command line, and have gotten comfortable with a lot of the basic gnu tools. I understand the general concepts behind Nix now and use it as my daily OS. I can and like bash scripting, and in general hacking with the command line. I use neovim and enjoy TUI tools.

Webdev Stuff

Over the past few years I've worked on a few full stack personal projects. As a result of over-engineering my website, I've learned next.js, prisma, and a bit about s3 too as I've built out a backend and integrated a database to allow for a WYSIWYG automated post editing system. Most of my react experience has been with next, but I'm eager to try out Vite with raw react and a seperate at some point, along with dabbling with GraphQL. I've done some bundling with esbuild and have done a lot of typescript. In 2024 I won CWRU's hackathon with a fullstack project that used OpenAI tools to scan on campus events to find events that had free food, and got to learn about how to integrate AI APIs and a bit about serverless and cronjobs, along with the MUI component library. I've also been working on a commissioned React Native application this year, and have a experience with android devtools and the mobile development process. 

Languages

Since 9th grade I've been self-teaching Python through lots of projects, articles, videos, and experiments. At this point, I'm quite adept in the language, and have some experience with UI design with PyQt6. I've also worked with asyncio/aiohttp/django/flask in the past for backend API development. I feel I have a pretty good grasp of the OOP concepts and more advanced features surrounding the language. I taught myself Java over the past summer for university courses so, while it's not my most fluent language, I am comfortable coding in it. I understand the ideas behind OOP quite well, but I don't really think it's best for everything and feel Java goes a bit too far with OOP. I've spent the last two years mostly in typescript, working on node personal projects and doing basic scripting. I've written a basic API with express, and have experience with some node tooling. This summer I've been learning a lot of nix, which I'll put in a separate bullet.

Nix (+NixOS +Home Manager)

In summer of 2024 I spent a lot of time learning the nix language and how to use it to configure a nixos operating system. I flashed my laptop from scratch with nixos, without even a desktop environment. I was coming from a year with PopOS, but wasn't ready for such a massive adjustment and it was intense. I set up my desktop with hyprland, a wayland implementation, and configured everything declarativly with nix. I then started to get in the habit of packaging projects with nix flakes, to get pure project builds and consistent dev environments.

CAD Stuff

I first began working with Illustrator all the way back in elementary school, and I played a major part in my year's yearbook design. In middle school I used it for various personal projects, and for editing documents. Since then, I've used it to design marketing graphics at one of my jobs, and have tinkered with it to contrive art, create posters, and more. I also have a bit of experience with Premiere Pro and Audition too.

English & Latin Language

I'm a fluent English speaker, and believe that I have a very good grasp on the language. I've also just completed four years of Latin, which I've loved specifically because of how it's let me strengthen my grasp of English grammar and come to better understand how various words have come to be. Lingua Latina fortasse optima lingua est!

Fast Typist

I love typing! Last I checked, I'm able to consistently type over 100WPM. Being able to spit out information as I think it is something I've always wanted to be able to do, and a skill I began working on consistently since middle school. I'm also a big vim proponent, and love the power of fast and powerful keystrokes -- I've even rebound my caps lock key to be an additional mod key for my laptop.

Math

At this point I've taken math courses up to Calculus 3. I love how calculus compiles and applies all prior math knowledge. In addition to calc, I have a firm grasp of Algebra, Trig, and Geometry. I also took discrete math in 2024, and really enjoyed the theoretical nature of the class, and learning how to contrive and validate mathematical proofs.

GSUIT, Office, Git, LaTeX, Typst, etc.

The tools of the trade: I've been using Office and Google Workspace tools for years, and am very proficient with them. I also have picked up some LaTeX over the past few years, mostly during my time working on NATuG. I learned Typst for personal typesetting work, and, of course, I've been using Git for years to manage my various coding projects.

Some other stuff

  • I love problem-solving, and do think I'm good at deriving creative solutions to complex problems, but believe that my real uniqueness stems from my desire to fully comprehend solutions, and my ability to learn from past problems.
  • When it comes to code, I care as much about form as I do function. So while yes, this does sometimes lead to long deliberations over variable naming, it also fosters clarity and comprehensively, and not just blind conformity to style guides.
  • I am very detail-oriented. Though I wouldn't call myself a perfectionist, but, when I have the time and opportunity, I'll go out of my way to spend time figuring out how to do things the right way, even if it's convoluted and tedious.
  • Through Ancient Latin experience, along with my eclectic english vocab flashcard deck project and a public speaking course in high school, I've come to be quite good at conveying ideas and information.
  • I'm very computer-literate, and am able to intuit software very readily. I've been tinkering with computers since I was little and am good at learning from documentation and experimentation.
  • I am good at managing time, though I prefer working on one thing at a time rather than trying to spread myself too thin multitasking. I'm also quite organized, when it comes to life, but also code and projects digitally.
  • I'm generally a very curious person who likes tackling things that interest me without external influence. Chasing down interests has been something I've always been inclined to do, and is, in my opinion, an important core quality.