_index.org

software dev starter pack

Last edited: August 8, 2025

Here’s a bit of a guide to start in software development. It is mostly links to other resources that would help.

Introductory Remarks

Nobody “learns” software development. Even in job interviews, people expect you to have “worked” in software development. The industry, as a whole, drives via “learn-by-doing”, so its best to start thinking about what you want to achieve with software dev in terms of projects, then look specifically for resources to help you achieve those. Once you Google enough, et viola! You will have the skills needed to tackle another project.

Software Development Methodologies

Last edited: August 8, 2025

The software development models, or Software Development Life-cycles (SDLCs), are methodologies to approach organizing a software project.

Waterfall

The waterfall specification gets written before any code written. We hand off spec and code directly to tester, and code should behave like spec.

  • Code specification exactly
  • Spec does not update

Code happens only after stuff is done

Agile

Agile are designed to work with minimum specification before code. Spec is updated constantly as code changes and get user feedback.

Software Engineering Index

Last edited: August 8, 2025

process of Engineering: chronological order

Other topics

  • Query optimization (TODO)

Fucking acronyms to know

fundamental trade-off of Software Engineering

The MIT vs. New Jersey problem: in Software Engineering, you can only choose one of FAST or ROBUST.

Solving PDEs via Fourier Transform

Last edited: August 8, 2025

This will have no explicit boundary conditions in \(x\)!

Assume \(|U(t,x)|\) decays quickly as \(|x| \to \infty\).

Apply Fourier Transform

Step one is to apply the Fourier Transform on our PDE

\begin{equation} \hat{U}(t, \lambda) = \int_{R} U(t,x) e^{-i\lambda x} \dd{x} \end{equation}

Leveraging the fact that Derivative of Fourier Transform is a multiplication, we can simply our Fourier transform in terms of one expression in \(x\).

Apply a Fourier Transform on \(f(x)\)

This allows you to plug the initial conditions into your transformed expression above.

solving systems

Last edited: August 8, 2025

So let’s say given a system:

\begin{equation} \begin{cases} x + 2y + z = 0 \\ 2x + 0y - z = 1 \\ x - y + 0z = 2 \end{cases} \end{equation}

We can represent this using a matricies.

\begin{equation} \begin{pmatrix} 1 & 2 & 1 \\ 2 & 0 & -1 \\ 1 & -1 & 0 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 2 \end{pmatrix} \end{equation}