Lie theory

#mathematics#group-theory#manifolds#symmetry#Lie-theory#physics

Lie theory marries manifolds to group theory. Groups are mathematical structures used to describe symmetries. Note, symmetries extend beyond our initial intuition of discrete rotations and reflections of shapes. Instead symmetries describe phenomena which do not change the outcome of an experimental observation. For example an experiment done today should have the same result if done tomorrow. By treating groups as manifolds we can model continuous symmetries and use our tools of differential geometry to describe these groups.

Read more →

September 9, 2024

Differential Geometry

#mathematics#differential-geometry#manifolds#linear-algebra#vector-calculus#vector-fields#differential-forms

Differential geometry as the name suggests expands fundamental ideas of calculus and applies them to more complex geometric spaces. The ideas expressed in differential geometry have far reaching applications in physics since the subject matter will refine our intuition around coordinate systems and enable us to describe physics phenomena in a coordinate free manner. Applications include Einstein’s general relativity and particle physics. This write up explores these prerequiste mathematical tools.

Read more →

August 19, 2024

Vector Spaces to Exterior Algebra

#mathematics#fields#linear-maps#tensors#linear-algebra#exterior-algebra

When taught linear algebra in high school or university, you begin to formulate a notion that a vector is an array of elements which we use to represent “arrows” in 2 or 3 dimensional space and matricies as two dimensional arrays performing linear transformations on these vectors, scaling or rotating them. These are introductory interpretations of vectors and linear transformations. Mathematicians treat these structures in a far more abstract sense. In this writeup I try refine my inituition what a vector space actually is.

Read more →

August 10, 2024

Introduction to sets and topologies

#mathematics#set-theory#topology#homotopy#compactness

Modern physics relies on foundational mathemetical structures to describe nature. Topological spaces and sets are two of these fondational structures. Here I will outline topological spaces, how they are constructed from sets and some useful properties to describe them. This is the first post in my collection of notes from the lecture series: “Geometrical Anatomy of Theorectical Physics” by Frederick Schuller.

Read more →

April 24, 2024

Building a home server

#Virtualization#networking#firewalls#OPNSense#KVM#LVM#QEMU#systemd

Finally building a dedicated home server / lab was one of my biggest, most enjoyable projects in recent years. It provided me even more experience in Linux administration as well as introduce me to a whole field of network administration and security.

Read more →

February 3, 2024

Calculus overview

#mathematics#calculus#linear-algebra#vector-calculus

University mathematics was one of the most challenging, interesting and stressful periods of my life thus far. Despite this, I have fond memories of it. For this reason have compiled a short tour of my university curriculum for my personal posterity. I will focus more on the ideas within each area as opposed to the rigorous proofs and the example problems.

Read more →

January 31, 2024

Towards a home computing lab with KVM and QEMU

#Virtualization#KVM#LVM#Linux#Networking#QEMU#VFIO#IOMMU

Virtualization is one of the backbones to cloud computing. The technology enables us to use hardware more efficiently and for a wider number of applications. Understanding virtualization requires careful study of the hardware capabilities of your system, the responsibilities of operating systems as well as a bit of networking. In this post I outline a Linux based setup for hosting virtual machines. The skills developed here will serve us when building a dedicated home server later.

Read more →

August 8, 2023

OSI Model

#OSI#Networking

At its core, networking simply tackles the problem of how two or more computers communicate with each other. Unfortunately, the field of networking is heavily laden with jargon, loosely used and overlapping terms and I wanted to get to the bottom of it once and for all. Thankfully, the Open Systems Interconnection (OSI) model can be used as a map to explore the field of networking.

Read more →

January 5, 2023

Everything I know about ETFs

#finance#etfs#stocks#efficient-market-hypothesis

Investing is a ubiquitous topic between family and friends and on social media. With so many options, so many voices offering, often conflicting, advice and an overwhelming amount of financial jargon it is hard to know where to start. Here I take a look at Exchange Traded Funds ETFs, specifically finding out how they work and their possible failures.

Read more →

November 19, 2022

My first Linux kernel contribution

#Linux#kernel#open-source#Git

I got interested in Linux in high school when I stumbled upon it as side note in a textbook. It was only in the following couple years did I realize the importance Linux had in the computer and programming community. Linux only refers to the operating system’s kernel which is an abstraction that provides a unified platform for software to run on many different types of hardware. The kernel is open source software and anyone can contribute to its development. So after years of benefiting from the contributions of others I decided I would investigate the development process that makes it all possible.

Read more →

September 17, 2022

Porting my Lisp Interpreter (written in C) to WebAssembly

#WebAssembly#Emscripten#Web

You wont go long in web development before you hear of WebAssembly (WASM) and the performance benefits it brings to web applications. Additionally, and known to a lesser extent, WebAssembly also provides an avenue for increasing the portability to existing code bases, similarly to Docker, given WebAssembly’s wide availability and security running in the browser’s execution environment. In this post I will evaluate the latter claim for myself. Writing web assembly starts with the Emscripten project.

Read more →

July 12, 2022

Chroot jails and systemd-spawn

#Virtualization#Isolation#containers#chroot#systemd

Containers and application isolation were massive developments in computing. This technology provides a number of useful benefits for developers and end-users alike, ranging from portability to security. I recently needed these benefits when I wanted to install Steam and NVIDIA drivers without interfering with my main system. Here I explore a couple of approaches more basic than Docker to understand the technology from first principals.

Read more →

July 11, 2022

Building N-layer applications with ORMs

#software#architecture#n-layer#web

Software, especially in business, is almost always done with teams of developers. Software is only getting more complicated and with each developer producing hundreds of lines of code a day each addressing a different problem. It is easy to see how this will become difficult to manage. N-Layer applications is a software design pattern to separate the different “concerns” of an application into more organized layers. 1 Although, making applications modular is often a subconscious practice for developers, it is worthwhile to define a formal way as to how to separate the different concerns of the project.

Read more →

September 9, 2021