Algorithm Abstraction and Design Notes
Introduction These notes are on the COP4533 Algorithm Abstraction & Design with Professor Ungor at the University of Florida. What I have learned from this course has been compounded into these notes. Stable Matching Problem Given a set of preferences among hospitals and med-school students, we have to design a self-reinforcing admissions process. A matching $M$ is a set of ordered pairs, $h-s$, where $h \in H$ and $s \in S$, such that: ...
How WAD Works
Where’s All the Data? WAD (Where’s All the Data?) is the file format created by id Software and is utilized by the DOOM engine for storing game data. The primary concept behind the WAD is to allow users to easily modify game data. After the release of Wolfenstein 3D, id Software took note that many were modifying their game, but noticed the process was incredibly obtuse and actually involved modifying the engine directly. This idea of simplicity goes into the design of the format, being easily understandable and modifiable by DOOM users. A direct result of WAD’s beautiful simplicity is the ever growing and incredibly healthy modding community DOOM has, even 30 years later. It cannot be understated that the WAD is one of the reasons that DOOM has enjoyed such a long life, and why DOOM is revered as such an influential classic. So, the WAD’s simplicity is not a bad thing, and I feel it is a perfect example of what good engineering should be: simple, to the point, and tidy. ...
Data Structures and Algorithms Notes
Introduction Pardon the dust, this is being rewritten. These notes are on the COP3530 Data Structures and Algorithm class with the excellent Professor Kapoor at the University of Florida as well as on Abdul Bari’s DSA Course on Udemy. What I have learned from each has been compounded into one living document. If you are interested in Abdul Bari’s course but want a bit of a taste for it, there is also a free YouTube version that is consolidated. Please note that these are notes, I can’t stress this enough. These are written with prior knowledge in mind, and are basically useless if you aren’t following along with a textbook or a course. They won’t be teaching you well. These can act as a good reference for concepts and important explanations. Think of it as a TL;DR on things, but you’re doing yourself a disservice if you even think of using these as your main source of info. For textbooks, check out the excellent OpenDSA Book. If you prefer paper, check out “Introduction to Algorithms” by Cormen & Leiserson and “Data Structures and Algorithm Analysis in C++” by Weiss. ...
Calculus Notes
Calculus Notes Preface The Calculus I and II topics follows the AP Calculus BC course on Khan Academy. Most problems/solutions are taken from the quizzes, videos, and examples and as such are taught better than they are here. A small amount are ones I came up with to illustrate my point and some additional notes are outside the initial scope of AP Calculus BC but are useful for more advanced math which at the time of writing I am interested in. These are “living” notes, I update them as I learn and as a result may change, be reformatted, or be inaccurate at times. As of writing, I am not done with AP Calculus BC, so I am still writing notes for these topics. I aim to be as accurate as possible but I am a student of Calculus and am not qualified to teach Calculus. These notes are in no way supplements for any actual material and instead are just for reference, please use them as such. You will in no way gain any deep understanding of the topics discussed here by reading solely these notes. Most important thing that I can impart from these notes though is not the material, but some advice: don’t give up in Calculus, people hype it up to be way harder than it actually is. It is self-teachable, it is understandable, and it is fun. Math is fun. Calculus will come easier to you if you treat it like a game full of puzzles. Might be a boring game initially, but a game nonetheless. If I, in my seemingly never ending stupidity, can do it: so can you. To quote Silvanus Thompson: ...
My Love for Data Hoarding
Knowledge is power. Information is liberating. Education is the premise of progress, in every society, in every family. Kofi Annan Recently I was asked what I do in my free time, and among other things, I named my love for what is known as “Data Hoarding.” This piqued the interest of the person who asked and I went onto explain what data hoarding entailed. Once they understood, they were confused about the appeal of data hoarding. The definition and motivations of data hoarding differ from person to person. Some say they data hoard so that they can have all of their content in the same place, whilst others believe in a grander purpose, the preservation and protection of information for generations in the future. As we march ever further into the digital age, astronomical quantities of information are created each and every day. Millions of examples of music, videos, forms, documents, papers, essays, books, pictures, etc. pour onto our digital landscape waiting for someone to gaze upon it. The beauty of this fact is that we have more information on any given subject than any society so far in the entirety of human history. We have substantial knowledge not only of our current day but also of centuries past. All of this is chaotically spewn about, loosely organized by web crawlers and gathered on indexes. This chaos leads to a lack of protection, every day as more data is added, more is lost. It isn’t uncommon for services to truncate large quantities of data without giving a thought to its significance. Services go offline, servers go down, content is removed, data is lost. ...