Joshua D. Katz

I'm a Software Engineer who work mostly at the systems level as you can probably tell from my poorly crafted website. Please pretend that this is just some misguided attempt at being 'minimalistic' on my part so you and I can continue on with this 'content' thing that you're probably expecting. I'm currently interested in network protocol development, game development, stream processing, data science, and Amateur Radio.




An automated system that scans craigslist for search terms. It will scrape the site when run and send an email to a specified address when an item is found matching configured search terms. This was used to look for an X230T that I was pining over.



A static website used to train people the answers to the Amateur Radio license exam questions. This includes a set of converter scripts, to convert the PDFs provided by the FCC, into a readable format and also the HTML, JavaScript, and css needed to display this to users. It will randomly give you questions from the question pool only removing questions after you've got them right 15 times in in a row. All information is stored in the localStorage of the user's browser making it usable when you have no internet connectivity which is the best time to study.



A concept kernel and operating system written for an X86 system. I didn't know how to use make at this time so I wrote my own build system as well. The OS was in C and the build system called Bob was written in PHP. I got interrupts and video memory working then had to move on to bigger and better things. Such is life.



An automated grading system developed during my time as a classroom assistant for the CS 100 program at the New Jersey Institute of Technology. This has the ability to grade assignments, dispatch grades, and attempt to detect cheating. This uses a distance algorithm to compare the ASTs of every lab to every other lab that was submitted. Since I don't own any super computers I wasn't able to do a real tree distance and instead had to fudge something on my own that used the Levenshtein distance formula as a base and recursively applied to to children nodes.



A process wrapper for a popular multiplayer game. This was a system developed for a game server I was running. It initially started as a program to keep the server up and restart it when it silently failed. It morphed into something completely different. In essence it was a massively over-complicated log parser. It had a dynamic plugin system, a really poorly made permissions system, and a lot of addons written for it by myself. At least one other person I know of has used it for managing their game server and has committed back code to the project.



Programmable uptime alert system. It is a simple PHP script that is designed to be run on one of those free web hosting servers to keep it cheap and off your network. It is run with a cron job and sends an email or SMS when a service falls down and also when it comes back up.



Modified and improved the performance of an interactive map that displays a 3D representation of a StarMade server's game world. My changes made the program consume 80% less memory and work with databases the same scale as what I had on hand at that time which was over 200GB.