chore: fix broken links

This commit is contained in:
Thomas Bishop 2025-12-28 16:31:48 +00:00
parent 1fde207c5a
commit d468e5cd4c
14 changed files with 48 additions and 75 deletions

View file

@ -3,8 +3,6 @@ tags:
- git - git
--- ---
# Rebasing
Rebasing is a way to integrate changes from one branch into another. In this Rebasing is a way to integrate changes from one branch into another. In this
regarding it is like merging a branch B into another branch A. However rebasing regarding it is like merging a branch B into another branch A. However rebasing
differs from normal merging in the way in which it modifies the Git history. differs from normal merging in the way in which it modifies the Git history.
@ -127,11 +125,11 @@ request.
## Difference from cherry-picking ## Difference from cherry-picking
The main difference between the two approaches is that The main difference between the two approaches is that
[cherry-picking](Cherry_picking_a_branch.md) is a more selective [cherry-picking](/zk/Cherry_picking.md) is a more selective process, where you
process, where you can pick and choose specific commits that you want to include can pick and choose specific commits that you want to include in another branch.
in another branch. This can be useful when you only want to apply specific This can be useful when you only want to apply specific changes or fixes from
changes or fixes from one branch to another, without including all the changes one branch to another, without including all the changes made in the original
made in the original branch. branch.
On the other hand, rebasing is a more comprehensive process that can include all On the other hand, rebasing is a more comprehensive process that can include all
the changes from one branch to another, but it modifies the commit history, the changes from one branch to another, but it modifies the commit history,

View file

@ -3,8 +3,6 @@ tags: [world-wide-web, internet, encryption, servers]
created: Friday, December 14, 2024 created: Friday, December 14, 2024
--- ---
# HTTPS
The problem with standard, unencrypted HTTP requests is that the data can be The problem with standard, unencrypted HTTP requests is that the data can be
captured in transit and be observed or modified by malicious actors. captured in transit and be observed or modified by malicious actors.
@ -17,10 +15,10 @@ It utilises two types of encryption to send messages securely:
- a single shared key between client and server to encrypt the messages sent - a single shared key between client and server to encrypt the messages sent
between them between them
- asymmetric encryption - asymmetric encryption
- two keys are used: a [public key](./bbdcb54f_public_key_cryptography.md) to - two keys are used: a [public key](/zk/Public_key_cryptography.md) to encrypt
encrypt the data and a private key to decrypt it. The public key can be the data and a private key to decrypt it. The public key can be shared
shared freely so anyone can encrypt and send data to a peer but only the freely so anyone can encrypt and send data to a peer but only the peer can
peer can receive and decrypt it receive and decrypt it
> Symmetric encryption applies once the server has been authenticated and its > Symmetric encryption applies once the server has been authenticated and its
> public key has been shared with the client. Asymmetric encryption applies at > public key has been shared with the client. Asymmetric encryption applies at

View file

@ -3,9 +3,7 @@ tags: [internet, ARPANET, ARPA]
created: Monday, October 28, 2024 created: Monday, October 28, 2024
--- ---
# 4a3dc316_key_figures_ARPANET - [Paul Baran](/zk/Baran_distributed_networks.md) for his work at RAND on
- [Paul Baran](385af4b4_Baran_distributed_networks.md) for his work at RAND on
distributed networks as an alternative to the extant distributed networks as an alternative to the extant
centralised/de-centralised phone networks. centralised/de-centralised phone networks.

View file

@ -7,7 +7,7 @@ tags: [logic-gates, binary, memory]
The **combinatorial digital circuits** we have looked at so far have been The **combinatorial digital circuits** we have looked at so far have been
non-sequential. The outcome is a function of its immediate set of inputs and non-sequential. The outcome is a function of its immediate set of inputs and
everything happens at once: there is no means of storing state for future use. everything happens at once: there is no means of storing state for future use.
In other words there is no _[memory](Memory.md)_. In other words there is no memory.
In contrast, the output of a **sequential digital circuit** depends not only on In contrast, the output of a **sequential digital circuit** depends not only on
its present set of inputs but also on past inputs to the circuit. It has some its present set of inputs but also on past inputs to the circuit. It has some
@ -49,8 +49,7 @@ _The representation of an SR Latch in a digital circuit diagram_:
The circuit diagram latch symbol obviously encapsulates more complex The circuit diagram latch symbol obviously encapsulates more complex
functionality that occurs at the sub-circuit level. We will demonstrate how this functionality that occurs at the sub-circuit level. We will demonstrate how this
functionality can be achieved with two functionality can be achieved with two [NOR](Logic_gates.md#nor-gate) gates.
[NOR](Logic_gates.md#nor-gate) gates.
The two gates are in a **cross-coupled configuration**. This basically means The two gates are in a **cross-coupled configuration**. This basically means
that the wires are crossed back on themselves such that the output of one is that the wires are crossed back on themselves such that the output of one is

View file

@ -11,10 +11,9 @@ tags:
### `top`/`htop` ### `top`/`htop`
We can use [ps](Processes.md) to list the We can use [ps](Processes.md) to list the currently running processes but it
currently running processes but it does not provide much information about the does not provide much information about the resource metrics or how the process
resource metrics or how the process changes over time. We can use `top` to get changes over time. We can use `top` to get more information.
more information.
`top` provides an interactive interface for the information that `ps` displays. `top` provides an interactive interface for the information that `ps` displays.
It updates in real time and shows the most active processes based on the CPU It updates in real time and shows the most active processes based on the CPU
@ -60,9 +59,8 @@ _Here I have pressed `u` to show only the processes associated with my user:_
$ renice 20 1234 $ renice 20 1234
``` ```
- `VIRT` - `VIRT`
- The total amount of - The total amount of [virtual memory](/zk/VirtualMemory.md) used by the
[virtual memory](Virtual_memory_and_the_MMU_in_Linux.md) used by process including: program code, data, shared libraries, pages that have
the process including: program code, data, shared libraries, pages that have
been swapped, pages that have been mapped but not used. been swapped, pages that have been mapped but not used.
- `RES` - `RES`
- Stands for _resident size_ - Stands for _resident size_
@ -110,9 +108,8 @@ procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
- Total amount of virtual memory in the - Total amount of virtual memory in the
[cache](Role_of_memory_in_computation.md#relation-between-cache-and-buffers) [cache](Role_of_memory_in_computation.md#relation-between-cache-and-buffers)
- `swap` - `swap`
- Distinguishes amount of memory - Distinguishes amount of memory [swapped](Swap_space.md) in (`si`) to memory
[swapped](Swap_space.md) in (`si`) to memory and and swapped out (`so`) to disk
swapped out (`so`) to disk
- `io` - `io`
- Disk actions - Disk actions
- Amount of data read from harddisk (`bi`) - Amount of data read from harddisk (`bi`)
@ -136,8 +133,8 @@ gives me some useful info about which files VS Code is using:
## System calls: `strace` ## System calls: `strace`
A system call is when a process requests a service from the A system call is when a process requests a service from the
[kernel](The_kernel.md), for instance an I/O operation to [kernel](The_kernel.md), for instance an I/O operation to memory. We can trace
memory. We can trace these system calls with `strace`. these system calls with `strace`.
## CPU performance ## CPU performance
@ -168,8 +165,8 @@ $ uptime
We know that processes primarily interact with virtual memory in the form of We know that processes primarily interact with virtual memory in the form of
pages which are then translated to physical blocks by the kernel via the pages which are then translated to physical blocks by the kernel via the
[MMU](Virtual_memory_and_the_MMU_in_Linux.md). There are several tools [MMU](Virtual_memory_and_the_MMU_in_Linux.md). There are several tools which
which provide windows onto this process. provide windows onto this process.
### System page size ### System page size

View file

@ -8,12 +8,11 @@ tags:
<img src="../img/motherboard-pi.jpg" width="400px"/> <img src="../img/motherboard-pi.jpg" width="400px"/>
![](./img/motherboard-pi)
The motherboard is the foundation of a computer. It allocates power and allows The motherboard is the foundation of a computer. It allocates power and allows
communication to and between the communication to and between the [CPU](CPU_architecture.md), memory,
[CPU](CPU_architecture.md), [harddisk](What_are_disks.md) and all other hardware components.
[RAM](Memory.md),
[harddisk](What_are_disks.md) and all other hardware
components.
It is a printed circuit board and is always the largest board within the It is a printed circuit board and is always the largest board within the
computer chassis. computer chassis.

View file

@ -9,10 +9,9 @@ tags:
> key is one **field that uniquely identifies each record**. > key is one **field that uniquely identifies each record**.
This is essential for carrying out operations across database tables and for This is essential for carrying out operations across database tables and for
creating and deleting database entires in accordance with the creating and deleting database entires in accordance with the ACID principle. It
[ACID principle](ACID_principle.md). It is also a safeguard: it means is also a safeguard: it means you can always identify a record by itself and
you can always identify a record by itself and don't have to rely on generic don't have to rely on generic queries to identify it.
queries to identify it.
Sometimes you will have a dedicated field such as `UNIQUE_ID` for the unique Sometimes you will have a dedicated field such as `UNIQUE_ID` for the unique
key. Other times you can use an existing field to fulfil that function. When an key. Other times you can use an existing field to fulfil that function. When an

View file

@ -9,7 +9,7 @@ AWS to simplify the process of building, deploying and managing serverless
applications. It provides a concise syntax for defining the components of a applications. It provides a concise syntax for defining the components of a
serverless application, such as serverless application, such as
[Lambda functions](zk/Lambda_programming_model.md), [Lambda functions](zk/Lambda_programming_model.md),
[API gateway](/zk/AWS_API_Gateway.md) and database tables. [API gateway](/zk/API_Gateway.md) and database tables.
The SAM infrastructure is defined in a YAML file which is then deployed to AWS. The SAM infrastructure is defined in a YAML file which is then deployed to AWS.
SAM syntax gets transformed into CloudFormation during the deployment process. SAM syntax gets transformed into CloudFormation during the deployment process.
@ -239,8 +239,8 @@ receive one file as an input. The packaging process consists in creating that
single file. single file.
The packaging proces will first archive all of the project artefacts into a zip The packaging proces will first archive all of the project artefacts into a zip
file and then upload that to [S3](zk/AWS_S3.md). A reference to this S3 entity file and then upload that to [S3](/zk/S3.md). A reference to this S3 entity is
is then provided to CloudFormation. then provided to CloudFormation.
![](/img/s3-package-again.svg) ![](/img/s3-package-again.svg)

View file

@ -4,8 +4,6 @@ tags: [Linux, networks]
created: Wednesday, June 12, 2024 created: Wednesday, June 12, 2024
--- ---
# Set DNS settings
## Change the default DNS server ## Change the default DNS server
On Arch and most modern Linux distributions domain name resolution is handled On Arch and most modern Linux distributions domain name resolution is handled
@ -62,8 +60,3 @@ nameserver 192.168.0.4
nameserver fded:2060:8671:0:681:9bff:fe9b:37f0 nameserver fded:2060:8671:0:681:9bff:fe9b:37f0
``` ```
## Related notes
![Network scanning](./Network_scanning.md)
![Network debugging](Network_debugging.md)

View file

@ -19,10 +19,8 @@ transitions between them. It also includes error catchers and retry logic.
At the beginning you define a `StartAt` state which is the entrypoint of the At the beginning you define a `StartAt` state which is the entrypoint of the
state machine. This can be manually triggered, or more likely, triggered by state machine. This can be manually triggered, or more likely, triggered by
another AWS service such as a another AWS service such as a [Lambda](Lambda_programming_model.md), an
[Lambda](Lambda_programming_model.md), an [API Gateway](/zk/API_Gateway.md) request or a messaging/queue event.
[API Gateway](AWS_API_Gateway.md) request or a messaging/queue
event.
The state machine ultimately ends at an end state. In between are various The state machine ultimately ends at an end state. In between are various
intermediary states which can include: intermediary states which can include:

View file

@ -5,14 +5,12 @@ tags:
# Handling streams with fs # Handling streams with fs
When reading from a file, the When reading from a file, the [`fs.readFile()`](fs.md) method waits until the
[`fs.readFile()`](fs.md) method waits entire file has been read before executing the callback. It's obvious why this
until the entire file has been read before executing the callback. It's obvious might not be ideal in certain cases. If the file is very large you are utilising
why this might not be ideal in certain cases. If the file is very large you are a lot of memory for a single process. Additionally, the data you need might
utilising a lot of [memory](Memory.md) for a appear early in the file, in which case, once you find the data you want, there
single process. Additionally, the data you need might appear early in the file, is no need to read to the end of the file.
in which case, once you find the data you want, there is no need to read to the
end of the file.
> An example of this in practice is watching a Netflix film: we don't have to > An example of this in practice is watching a Netflix film: we don't have to
> wait for the whole film to download, we can start watching it immediately > wait for the whole film to download, we can start watching it immediately

View file

@ -341,7 +341,6 @@ the ABC to make ENIAC.
next problem next problem
- ISP removed the friction: - ISP removed the friction:
- the instructions comprising the program would be prepared on tape or punched - the instructions comprising the program would be prepared on tape or punched
cards and read into electronic memory cards and read into electronic memory
- the hardware configuration of the machine would remain the same accross - the hardware configuration of the machine would remain the same accross
@ -382,7 +381,7 @@ variety of different electronic methods for memory:
- An experimental computer intended to create the - An experimental computer intended to create the
[von Neumann architecture](CPU_architecture.md) using [von Neumann architecture](CPU_architecture.md) using
[Williams_Tube_RAM](Williams_Tube_RAM.md) [Williams_Tube_RAM](/zk/Williams_Tube_memory.md)
- Developed at the Univesity of Manchester and completed in 1948. - Developed at the Univesity of Manchester and completed in 1948.
@ -407,7 +406,6 @@ variety of different electronic methods for memory:
university departments who were expected to program it themselves. To this university departments who were expected to program it themselves. To this
end, a formal programming paradigm was forged for the EDSAC which established end, a formal programming paradigm was forged for the EDSAC which established
the following: the following:
- subroutines as a library of common procedures available to programmers (e.g. - subroutines as a library of common procedures available to programmers (e.g.
printing a result, reading input tape, program checking, mathematical printing a result, reading input tape, program checking, mathematical
operations) operations)

View file

@ -3,12 +3,10 @@ tags: [cryptography, encryption]
created: Friday, December 20, 2024 created: Friday, December 20, 2024
--- ---
# a4601796_trapdoor_functions How does [public key cryptography](/zk/Public_key_cryptography.md) achieve the
feat of making the encyrpted data only decipherable in one direction. In other
How does [public key cryptography](./bbdcb54f_public_key_cryptography.md) words how come the same data can be encrypted with one key but only decryptable
achieve the feat of making the encyrpted data only decipherable in one by another?
direction. In other words how come the same data can be encrypted with one key
but only decryptable by another?
It is acheived by the use of **trapdoor functions**. These are functions that It is acheived by the use of **trapdoor functions**. These are functions that
are easy to compute in one direction but extremely difficult to reverse. But are easy to compute in one direction but extremely difficult to reverse. But

View file

@ -17,8 +17,8 @@ and wanted a way to communicate with each other.
## Technology ## Technology
Usenet comprised a [distributed network](385af4b4_Baran_distributed_networks.md) Usenet comprised a [distributed network](/zk/Baran_distributed_networks.md) of
of dedicated servers that exchanged messages over the **Network News Transfer dedicated servers that exchanged messages over the **Network News Transfer
Protocol** (NNTP). Protocol** (NNTP).
A user would post a message to their local news server. The server would assign A user would post a message to their local news server. The server would assign