chore: fix broken links
This commit is contained in:
parent
1fde207c5a
commit
d468e5cd4c
14 changed files with 48 additions and 75 deletions
|
|
@ -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,
|
||||||
|
|
|
||||||
10
zk/HTTPS.md
10
zk/HTTPS.md
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,12 +8,11 @@ tags:
|
||||||
|
|
||||||
<img src="../img/motherboard-pi.jpg" width="400px"/>
|
<img src="../img/motherboard-pi.jpg" width="400px"/>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
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.
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
|
|
||||||

|
|
||||||

|
|
||||||
|
|
|
||||||
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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)
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue