Welcome to the FourM Math & Tech Study Hub
About Me and This Site
Welcome to my personal study hub! This site serves as both a learning resource and a documentation center for various personal study projects around math and technology. These are topics that are of personal interest to me and/or outgrowths of my professional interests. Given my wide range of interests, the content is quite diverse, covering, for example, applied and pure mathematics, data science, machine learning and LLMs as well as software development best practices in Julia and Python.
In the course of my 50 year technology career I have programmed in more than 24 different languages. Since my career spans over 45 years, I started with Fortran, Cobol and Basic. But along the way, I have also used languages ranging from the obscure (APL, Forth) to the mainstream (Python, Java), some far more extensively than others. I would not call myself a professional software developer, since most of my technical work has been around system administration, DevOps and data engineering. For that reason, I have written more lines of code in Bash than in any other language, with Python being number two. Also for many years now I have moved into technical management, serving as CTO and CEO of various startups (my own and others), so I have been less hands-on at work.
Why Julia and Math/Tech Study?
Over the past couple of years I have learned Julia and it is by far my favorite language. I also actually find it fun to code with. Math is an area of personal interest and Julia is designed to express mathematical concepts most naturally. Moreover, there is an amazing ecosystem of packages for a wide range of mathematical and scientific applications, including pure and applied math, data science, machine learning and deep learning.
For that reason, the code throughout this hub is mostly in Julia. Inside the various projects, I make use of multiple Julia packages, not because they are necessary to implement a specific concept, but rather, in order to have an opportunity to play with and learn about some of their capabilities.
Obviously in covering technology topics, I also make use of Python, since it is the dominant language in data science and machine learning. However, I try to stick with Julia first, wherever possible. Sometimes I might slip into Bash or other languages for scripting and DevOps tasks, but I try to keep the focus on Julia and secondarily on Python.
LLMs as Study Aids
Just as an aside, since I am not a web developer and don't want to be, I am working closely with Claude as I build out the site. The LLM often makes mistakes, but since I have a strong tech background, I can notice these early on, and have Claude help me correct. Working with Claude definitely saves quite a bit of time. LLMs are useful tools. Nonetheless, they are not a replacement for human creativity, expertise and thinking (Personally, I am skeptical they ever will be). Currently, as a startup CTO, I encourage my developers to use LLMs as a multiplier, but I would never try to replace coders with LLMs. They allow coders to move faster, but that just means, we can move backlog and technical debt out the door a bit quicker, just as I can move this website out the door quicker than doing it myself.
About the Site Content
A comprehensive collection of study guides and documentation for mathematics and technology topics.
Math/Tech Study Guides
This section contains detailed step-by step guides as well as more discursive discussions on various topics related to software development, devops, mathematics, data science, machine learning and deep learning. The guides are designed to be practical and hands-on, with code examples and explanations. Most of what you will see are covered by the following categories:
Focused Study Guides - Step-by-step tutorials and documentation
Development Guides - Setup guides and best practices for Julia, Python and DS/ML/DL
Conceptual Overviews - In-depth explanations of key concepts and theories
Tool-Specific Guides - Documentation for specific libraries and frameworks
Many of the guides are/will be originally composed by Claude, the LLM I use both in VSCode using a paid version Github CoPilot and standalone (also a paid version). These guides are created based on questions I ask around projects I am working on (including building this website). Since my goal is study and learning, having Claude do the initial research is a big time-saver.
However, precisely because my goal is study and learning, and given that LLMs are not reliable, I test everything myself and modify documents (often interactively with the LLM) as I discover errors, omissions and misleading information. I also test everything in these documents, since my main purpose is study, not throwing out information to the world. I also edit the content of the guides based on my own experience as well as to change the tone to be less generic LLM flavor and more human me like.
Math/Tech Study Project Documentation
This section showcases documentation from math and tech study projects (often build using DrWatson.jl). Each project focuses on a specific mathematical or technological topic with comprehensive code packages and examples, aalong with concept and code documentation. In general, these are based on textbooks I am reading and studying from and other resources related to the specific study topic. In the documentation, I list and link to the books I am working from.
The projects include code packages and notebooks I write as I read and study math and tech books. In this case, the code is always initially written by me, based on examples and exercises in the books I am reading. Although I am not averse to taking suggestions from Claude to extend my own code, as noted, my main goal is learning, so I always first work out the problems myself.
In writing the documentation for these study projects, I also make extensive use of Claude. Once I created the initial template for the documentation, I let the LLM generate the first drafts of the documents since it is mostly standard information. I then carefully check and edit them to ensure accuracy and clarity. I add and extend many sections, to make the explanations more complete and communicative. In general the generated information seems accurate. In this case I am less concerned about tone and style, again since this is standard information, so I change less of that. You can look at the Claude instructions file in the repositories to see how I prompt the LLM to generate the content, and all the learnings I had to add to get it to produce results I liked.
One interesting experiment I did was to have the LLM generate the diagrams used in these documents, since I personally am not at all familiar with SVG web diagrams. Overall I find the LLM to be quite bad at doing these correctly, since its internal models don't seem to fully integrate the graphical and spatial relationships involved. So I had to do a lot of manual work to get them to a semi-decent standard. Still, without the LLM I would not even have attempted to create these diagrams. They are still far from perfect, but they do help to illustrate the concepts.
These documents are meant to be a resource first for myself and then anyone who wants to learn and review mathematical concepts. As noted, I do try hard to carefully check the accuracy of the explanations. However, I am not a professional mathematician, so please do let me know if you find any mistakes or inaccuracies.
Site Features
Since I want to stick with Julia first, this website is built with Franklin.jl using a variant of the responsive Lanyon template and deployed on GitHub Pages. You can find our more about the technical stack and architecture in the Tech About section.
FourM Site Name and Logo
La Brea Tar Pits Mural
The La Brea Tar Pits mural by C.R. Knight was created in 1925 for the Natural History Museum of Los Angeles County.
The mural depicts prehistoric creatures that once roamed the area trapped in the tar pits, including saber-toothed tigers, ground sloths, Columbian mammoths, and extinct vultures. The tar pits themselves are a natural asphalt seep, where ancient animals became trapped in the sticky substance, preserving their remains for thousands of years.

The Mythical Man Month
In 1975, the late Fred Brooks published "The Mythical Man-Month: Essays on Software Engineering," a collection of essays on software development and project management. At some point, a black and white version of the tar pits mural was used on the book cover. The image is a metaphor for the feeling one often has when working on complex software projects––being trapped in a tar pit with no way out.

The book is famous for its assertion that "adding manpower to a late software project makes it later," which is now known as Brooks's Law. Brooks argues that the complexities of software development mean that communication overhead increases as more people are added to a project, leading to diminishing returns.
If there is one book that every software engineer should read, this one is it. Fifty years after its publication, it remains relevant and insightful, offering timeless wisdom on the challenges of software engineering and project management
FourM - The Mythical Man-Month Method
Many years ago while living in New York City, I gave a course on software engineering at the CUNY Graduate Center's Continuing Education department. Explaining the principles outlined in Brooks' book were a key part of the course's curriculum. I coined the term the Mythical Man-Month Method (FourM) as a shorthand to convey how Brooks' seminal ideas had been encapsulated in agile software development practices.
Over the course of the ensuing years, I made several attempts to create a blog to share my thoughts on software engineering, but was too busy actually managing software projects to have time to write too much. However, I kept the FourM domain name and use it for my personal Github. So I include this study project under the FourM "umbrella".
Contact & Contributing
Besides serving as a repository for my review, I am making this all public in the hope that it might be useful to other people who might be interested in these topics. You are welcome to send me feedback and suggestions, but don't be offended if I don't respond!
You can find the source code for this site and individual projects linked from their respective documentation pages. You can contact me from my Github profile FourMInfo.
License
This project is licensed under the https://creativecommons.org/licenses/by-nc-sa/4.0/. Feel free to use these guides and templates for your own non-commercial projects. Individual code examples and implementations may have their own licenses as noted in their respective documentation.
Website built with Franklin.jl, a theme adapted from Lanyon, the Julia programming language, and deployed on Github Pages