You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: posts/3DRoute/3DRoute.nd
+6-4Lines changed: 6 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,4 @@
1
+
:: import "./macros.js"; ::
1
2
<!--
2
3
title: 3D Route
3
4
creationDate: 22/12/2021
@@ -13,16 +14,17 @@ tags: [
13
14
experiment
14
15
]
15
16
-->
16
-
After discovering that phone sensor data can be accessed from the browser[^hardware], I decided to do a project with that. This project is a way to visualize this sensor data. In this demo, you will see a wireframe abstraction of a phone, moving in space, with its movement tracing a path.
17
+
After discovering that phone sensor data can be accessed from the browser[^hardware], I decided to build a project around it. This project is a way to visualize that sensor data. In this demo, you can see a wireframe abstraction of a phone moving in space, with its movement tracing a path.
Copy file name to clipboardExpand all lines: posts/ArcSummary/ArcSummary.nd
+9-9Lines changed: 9 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -11,24 +11,24 @@ tags: [
11
11
project
12
12
]
13
13
-->
14
-
This blog entry redirects you to my masters thesis about _"Arc Summaries of TV Series"_. Although I _couldn't test it properly_, in the paper there are a good description of the algorithms that were developed/used for *segmentation*, *clustering* and *summarization* of text signals. In the paper we used [Spectral Graph Theory](https://en.wikipedia.org/wiki/Spectral_graph_theory) framework to solve most of the problems, relating this area with glimpses of other fields such as [Discrete Exterior Calculus](https://en.wikipedia.org/wiki/Discrete_exterior_calculus), [Functional Data Analysis](https://en.wikipedia.org/wiki/Functional_data_analysis).
14
+
This blog entry redirects you to my master's thesis, _"Arc Summaries of TV Series"_. Although I _couldn't test it properly_, the paper contains a good description of the algorithms developed and used for *segmentation*, *clustering*, and *summarization* of text signals. In the paper, we used the [Spectral Graph Theory](https://en.wikipedia.org/wiki/Spectral_graph_theory) framework to solve most of the problems, connecting this area with ideas from other fields such as [Discrete Exterior Calculus](https://en.wikipedia.org/wiki/Discrete_exterior_calculus) and [Functional Data Analysis](https://en.wikipedia.org/wiki/Functional_data_analysis).
15
15
16
16
## Abstract
17
17
18
-
In this dissertation, we aim to create a system capable of generating summaries of arcs of TV series. With thousands of hours of video being uploaded and stored in video-sharing websites and online streaming services, a need for video summarization appears as a necessary tool to save time and catch up with our beloved series. We propose a way to solve this problem using just subtitles information. The presented solution uses the framework of spectral graph theory to segment, find story arcs and summarize those arcs.
18
+
In this dissertation, we aim to create a system capable of generating summaries of TV series story arcs. With thousands of hours of video being uploaded and stored on video-sharing websites and online streaming services, video summarization becomes a necessary tool to save time and catch up with our beloved series. We propose a way to solve this problem using only subtitle information. The presented solution uses the spectral graph theory framework to segment episodes, identify story arcs, and summarize those arcs.
- [Presentation (watch it in presentation mode)](https://docs.google.com/presentation/d/1iQXAZszNOVqrjnANjOsVPEUHrQNjqlOWJqWMKAidRgc/edit?usp=sharing)
22
+
- [Presentation (watch it in presentation mode)](https://docs.google.com/presentation/d/1iQXAZszNOVqrjnANjOsVPEUHrQNjqlOWJqWMKAidRgc/edit?usp=sharing)
23
23
24
24
## Video Tutorial
25
25
26
-
In this video tutorial, you will understand how to use the software made for implementation of the thesis.
26
+
In this video tutorial, you will learn how to use the software built to implement the thesis.
27
27
28
28

29
29
30
30
31
-
## Running with docker
31
+
## Running with Docker
32
32
33
33
Just run:
34
34
@@ -37,22 +37,22 @@ sudo docker run -it -v <full path to folder where your series are>:<some contain
37
37
```
38
38
39
39
40
-
It will run a page at `localhost:31415/ArcSummary`. There you must insert the full path to folder where the series is in the container.
40
+
It will run a page at `localhost:31415/ArcSummary`. There, you must enter the full path to the folder where the series is located inside the container.
41
41
42
42
### Example
43
43
44
-
A simple example would be:
44
+
A simple example would be:
45
45
46
46
```sh
47
47
sudo docker run -it -v ~/Downloads/OverTheGardenWall:/app/OverTheGardenWall -p 31415:31415 pedroth/arc-summary
48
48
```
49
49
50
-
Then in `localhost:31415/ArcSummary`, in the `base folder` input you should put `/app/OverTheGardenWall`. For more details check the video tutorial above.
50
+
Then, at `localhost:31415/ArcSummary`, in the `base folder` input, you should enter `/app/OverTheGardenWall`. For more details, check the video tutorial above.
51
51
52
52
53
53
## Artifacts
54
54
55
-
As said above, you can test the software by using docker, or use the alternative, which is to download the artifacts below:
55
+
As mentioned above, you can test the software by using Docker, or use the alternative option, which is to download the artifacts below:
Copy file name to clipboardExpand all lines: posts/BitCalculator/BitCalculator.nd
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -10,9 +10,9 @@ tags: [
10
10
project
11
11
]
12
12
-->
13
-
_Bit Calculator_ is a simple _parser_ and _evaluator_ for mathematical expressions in binary. My main motivation for creating this, was to study [formal grammars](https://en.wikipedia.org/wiki/Formal_grammar), [parsers](https://en.wikipedia.org/wiki/Recursive_descent_parser) and [compilers](https://en.wikipedia.org/wiki/Compiler). To achieve this, I tried to build the simplest parser I could, using no dependencies. The parser that was implemented is similar to a [parser combinator](https://en.wikipedia.org/wiki/Parser_combinator). With the practice I have got from this I started to write the [Nabladown language](https://github.com/pedroth/nabladown.js).
13
+
_Bit Calculator_ is a simple _parser_ and _evaluator_ for mathematical expressions in binary. My main motivation for creating this was to study [formal grammars](https://en.wikipedia.org/wiki/Formal_grammar), [parsers](https://en.wikipedia.org/wiki/Recursive_descent_parser), and [compilers](https://en.wikipedia.org/wiki/Compiler). To achieve this, I tried to build the simplest parser I could, with no dependencies. The implemented parser is similar to a [parser combinator](https://en.wikipedia.org/wiki/Parser_combinator). With the practice I got from this project, I started writing the [Nabladown language](https://github.com/pedroth/nabladown.js).
Copy file name to clipboardExpand all lines: posts/BrownianMotion/BrownianMotion.nd
+10-8Lines changed: 10 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,11 @@ tags: [
14
14
]
15
15
-->
16
16
17
-
_Brownian Motion_ is `java` application where particles collide with each other. In this program you are able to control the direction of a constant length force field. I created it because I enjoy observing the dynamics of the system. Enjoy!
17
+
_Brownian Motion_ is a `Java` application where particles collide with each other. In this program, you can control the direction of a constant-magnitude force field. I created it because I enjoy observing the dynamics of the system. Enjoy!
All balls have the same size and start in a random position and velocity. They can be accelerated by a constant force field $X$, controlled by the user. When a ball is moving in free space it moves as an accelerated object:
58
+
All balls have the same size and start with random positions and velocities. They can be accelerated by a constant force field $X$, controlled by the user. When a ball is moving in free space, it behaves like an accelerated object:
57
59
58
60
$$ \ddot p_i = X $$
59
61
60
62
@quote(){
61
63
$p_i$ is the position of the ball.
62
64
}
63
65
64
-
The interesting behavior is when there is a *collision* between two balls. In this regime the ball velocity will be updated as follows:
66
+
The interesting behavior appears when there is a *collision* between two balls. In this regime, the ball velocity is updated as follows:
65
67
66
68
$$
67
69
\dot p_i = v_i - (2 - \beta) \left < v_i, n \right> n
68
70
$$
69
71
70
-
Where $v$ is the velocity of the ball before collision and $n$ is the normalized normal to the plane of contact between the balls in collision. That is:
72
+
Here, $v$ is the velocity of the ball before collision, and $n$ is the normalized normal to the contact plane between the colliding balls. That is:
71
73
$$n = \frac{p_i - p_j}{|p_i - p_j|}$$
72
74
73
-
While $\beta$ is the damping factor, which is a value between $0< \beta < 1$. Where $\beta = 0$.
75
+
Here, $\beta$ is the damping factor, with values in the range $0< \beta < 1$.
74
76
75
-
This simulation doesn't try to follow the rules of physics, instead it tries to be a cool dynamical system.
77
+
This simulation is not trying to be physically exact. It just aims to be a cool dynamical system.
Copy file name to clipboardExpand all lines: posts/CellularAutomaton/CellularAutomaton.nd
+10-10Lines changed: 10 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -11,26 +11,26 @@ tags: [
11
11
experiment
12
12
]
13
13
-->
14
-
I made a simple [*Cellular Automaton*][automaton] application long time ago. Here each pixel represents a [cellular automaton][automaton] which is *alive* if is green or *dead* if is dark. The rules for the cellular automaton to be born and to survive are defined by the $S/B$ rules:
15
-
- $S$ defines counts of alive neighbors necessary for a cell to survive.
16
-
- $B$ defines counts of alive neighbors necessary for a cell to be born.
14
+
I made a simple [*Cellular Automaton*][automaton] application a long time ago. Here, each pixel represents a [cellular automaton][automaton], which is *alive* if it is green and *dead* if it is dark. The rules for a cellular automaton to be born and to survive are defined by the $S/B$ notation:
15
+
- $S$ defines the numbers of live neighbors required for a cell to survive.
16
+
- $B$ defines the numbers of live neighbors required for a cell to be born.
17
17
18
-
If cell is not born or does not survive, then it dies or remains dead.
18
+
If a cell is not born or does not survive, then it dies or remains dead.
19
19
20
-
In this _app_ you can try several [cellular automata rules][rules]:
20
+
In this _app_, you can try several [cellular automata rules][rules]:
0 commit comments