aboutsummaryrefslogtreecommitdiffstats
path: root/content.org
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2022-01-04 23:38:11 +0000
committerYann Herklotz <git@yannherklotz.com>2022-01-04 23:38:11 +0000
commitb31371d8e12da4f55733cffbb65ae8c31b927567 (patch)
tree55f18cb7e560485ebdebe4875a2e6c8393dbc8f7 /content.org
parent3839e1c0dd112501008baf8179bf42c3161a7a57 (diff)
downloadyannherklotz.com-b31371d8e12da4f55733cffbb65ae8c31b927567.tar.gz
yannherklotz.com-b31371d8e12da4f55733cffbb65ae8c31b927567.zip
Remove unnecessary link macro
Diffstat (limited to 'content.org')
-rw-r--r--content.org47
1 files changed, 23 insertions, 24 deletions
diff --git a/content.org b/content.org
index f84f320..ee4b54a 100644
--- a/content.org
+++ b/content.org
@@ -88,7 +88,7 @@ to the note you want to insert. An example setup could be the following, which i
three topics: (1) high-level synthesis (HLS), (2) computing and (3) verification.
#+caption: The first step is to create a tree of notes in any hierarchy that seems to suit it best. Because of the numbering of the notes, other notes can always be inserted in between notes by adding a letter or number to the end.
-{{{link([[/images/2020-12-20-zettelkasten-in-pure-org/zettelkasten-setup-1.png]],[[./static/images/2020-12-20-zettelkasten-in-pure-org/zettelkasten-setup-1.png]])}}}
+[[./static/images/2020-12-20-zettelkasten-in-pure-org/zettelkasten-setup-1.png]]
We can then add notes as shown above, adding them into the right category under a heading that makes
the most sense, thereby building a tree. Each note is assigned a unique identifier (ID), which it
@@ -103,7 +103,7 @@ diagram below that still has the general structure of the tree but also contains
other notes that might be in a completely different topic but might still be generally relevant.
#+caption: Once in a while, links to other notes in other categories or in the same category should be made.
-{{{link([[/images/2020-12-20-zettelkasten-in-pure-org/zettelkasten-setup-2.png]],[[./static/images/2020-12-20-zettelkasten-in-pure-org/zettelkasten-setup-2.png]])}}}
+[[./static/images/2020-12-20-zettelkasten-in-pure-org/zettelkasten-setup-2.png]]
This allows for notes to be written anywhere that makes sense, but still connect to other areas in
the notes that also might be relevant, thereby creating a network of relevant notes that might
@@ -191,7 +191,7 @@ topic can then be created, for example, my topics are the following:
A screenshot of how the top-level view of all my files looks like is shown in the screenshot below.
#+caption: Example of the files containing the three topics I take notes in, displayed using the =columns= view in =org-mode=.
-{{{link([[/images/2020-12-20-zettelkasten-in-pure-org/emacs-screenshot.jpg]],[[./static/images/2020-12-20-zettelkasten-in-pure-org/emacs-screenshot.jpg]])}}}
+[[./static/images/2020-12-20-zettelkasten-in-pure-org/emacs-screenshot.jpg]]
Next, we can keep adding notes to the respective files, and whenever we can see a possible link
between two notes, we can add that to the relevant note. However, once in a while we have to take
@@ -601,7 +601,7 @@ hardware using FPGAs.
The workshop also included two poster sessions, and all the attendees presented the current projects
that were being worked. These were also quite varied and included projects from various universities
and also covered topics from optical circuits and storage to custom hardware and FPGAs. I presented
-our work on {{{link([[/2019/06/verismith/][Verismith]],[[#verismith][Verismith]])}}}, our Verilog synthesis tool fuzzer.
+our work on [[#verismith][Verismith]], our Verilog synthesis tool fuzzer.
I would like to thank Shane Fleming for inviting us to the workshop, and also thank all the
organisers of the workshop.
@@ -659,7 +659,7 @@ the glass using a femtosecond laser, which can then be read back using LEDs. The
different properties such as angle and phase which dictate the current value at that location.
#+caption: Project silica: image of 1978 "Superman" movie encoded on silica glass. Photo by Jonathan Banks for Microsoft.
-{{{link([[/images/msr_research/project_silica.jpg]],[[./static/images/msr_research/project_silica.jpg]])}}}
+[[./static/images/msr_research/project_silica.jpg]]
**** [[https://www.microsoft.com/en-us/research/project/sirius/][Sirius]]: Optical Data Center Networks
:PROPERTIES:
@@ -792,12 +792,11 @@ that were found can be seen in the [[https://github.com/ymherklotz/verismith/tre
:END:
The following resources provide more context about Verismith:
-- {{{link([[/docs/fpga2020/verismith_paper.pdf][Verismith FPGA '20 paper]],[[./static/docs/fpga2020/verismith_paper.pdf][Verismith FPGA '20 paper]])}}}
-- {{{link([[/docs/fpga2020/verismith_thesis.pdf][Verismith thesis]],[[./static/docs/fpga2020/verismith_thesis.pdf][Verismith thesis]])}}}
-- {{{link([[/docs/fpga2020/verismith_slides.pdf][Verismith slides]],[[./static/docs/fpga2020/verismith_slides.pdf][Verismith slides]])}}}: Presented to the Circuits and Systems group at
- Imperial College on the 01/07/2019 and at FPGA '20 on 25/02/2020.
-- {{{link([[/docs/msrphd2019/verismith_poster.pdf][Verismith poster]],[[./static/docs/msrphd2019/verismith_poster.pdf][Verismith poster]])}}}: Presented at the [[https://www.microsoft.com/en-us/research/event/phd-workshop-on-next-generation-cloud-infrastructure/][Microsoft Research PhD Workshop]] on
- 25/11/2019.
+- [[./static/docs/fpga2020/verismith_paper.pdf][Verismith FPGA '20 paper]]
+- [[./static/docs/fpga2020/verismith_thesis.pdf][Verismith thesis]]
+- [[./static/docs/fpga2020/verismith_slides.pdf][Verismith slides]]: Presented to the Circuits and Systems group at Imperial College on the
+ 01/07/2019 and at FPGA '20 on 25/02/2020.
+- [[./static/docs/msrphd2019/verismith_poster.pdf][Verismith poster]]: Presented at the [[https://www.microsoft.com/en-us/research/event/phd-workshop-on-next-generation-cloud-infrastructure/][Microsoft Research PhD Workshop]] on 25/11/2019.
** Realistic Graphics :graphics:
:PROPERTIES:
@@ -824,25 +823,25 @@ every point on the sphere is used to get it's colour. As a simplification, the s
be a perfect mirror, so that one reflection vector is enough to get the right colour.
#+caption: *Figure 1*: Urban latitude and longitude map.
-{{{link([[/images/realistic-graphics/urbanEM_latlong.jpg]],[[./static/images/realistic-graphics/urbanEM_latlong.jpg]])}}}
+[[./static/images/realistic-graphics/urbanEM_latlong.jpg]]
The latitude longitude map was created by taking a photo of a mirror ball and mapping the spherical
coordinates to a rectangle.
#+caption: *Figure 2*: Normals calculated on a sphere.
-{{{link([[/images/realistic-graphics/normal.jpg]],[[./static/images/realistic-graphics/normal.jpg]])}}}
+[[./static/images/realistic-graphics/normal.jpg]]
The first step is to calculate the normals at every pixel using the position and size of the
sphere. These can be visualised by setting the RGB to the XYZ of the normal at the pixel.
#+caption: *Figure 3*: Reflection vectors calculated on a sphere.
-{{{link([[/images/realistic-graphics/reflect.jpg]],[[./static/images/realistic-graphics/reflect.jpg]])}}}
+[[./static/images/realistic-graphics/reflect.jpg]]
The reflection vector can then be calculated and visualised in the same way, by using the following
formula: $r = 2 (n \cdot v) n - v$.
#+caption: *Figure 4*: Final image after indexing into the latitude longitude map using reflection vectors.
-{{{link([[/images/realistic-graphics/final.jpg]],[[./static/images/realistic-graphics/final.jpg]])}}}
+[[./static/images/realistic-graphics/final.jpg]]
The reflection vector can be converted to spherical coordinates, which can in turn be used to index
into the lat-long map. The colour at the indexed pixel is then set to the position that has that
@@ -859,18 +858,18 @@ iterations, the lights are placed in the centroid of each region. Below is an e
splits, meaning there are 2^6 = 64 partitions.
#+caption: *Figure 5*: Latitude longitude map of the Grace cathedral.
-{{{link([[/images/realistic-graphics/grace_latlong.jpg]],[[./static/images/realistic-graphics/grace_latlong.jpg]])}}}
+[[./static/images/realistic-graphics/grace_latlong.jpg]]
The average colour of each region is assigned to each light source that was created in each region.
#+caption: *Figure 6*: After running the median cut algorithm for 6 iterations.
-{{{link([[/images/realistic-graphics/median_cut6.jpg]],[[./static/images/realistic-graphics/median_cut6.jpg]])}}}
+[[./static/images/realistic-graphics/median_cut6.jpg]]
Finally, these discrete lights can be used to light diffuse objects efficiently, by only having to
sample a few lights.
#+caption: *Figure 7*: The radiance at each individual sample.
-{{{link([[/images/realistic-graphics/median_cut_radiance6.jpg]],[[./static/images/realistic-graphics/median_cut_radiance6.jpg]])}}}
+[[./static/images/realistic-graphics/median_cut_radiance6.jpg]]
** Jekyll to create a portfolio website :web:
:PROPERTIES:
@@ -1266,7 +1265,7 @@ files on the fly and runs them. The image above shows a possible basic setup for
in this case is the Mips I processor.
#+caption: Mips processor layout.
-{{{link([[/images/mips_processor_pipeline.jpg]],[[./static/images/mips_processor_pipeline.jpg]])}}}
+[[./static/images/mips_processor_pipeline.jpg]]
A processor also has to be able to store information to be able to execute these
instructions. Normally, processors have a small number of registers that are suited for this
@@ -1313,7 +1312,7 @@ normally done to transform a higher level language such as C, into a lower level
assembly.
#+caption: Compiler Workflow
-{{{link([[/assets/img/compiler_flow.svg]],[[./static/assets/img/compiler_flow.svg]])}}}
+[[./static/assets/img/compiler_flow.svg]]
**** Project
:PROPERTIES:
@@ -1396,7 +1395,7 @@ The three main parts of the project were
The custom music sheet is a grid which represents different notes that are to be played.
#+caption: Custom music sheet as a grid.
-{{{link([[/images/A4Grid.jpg]],[[./static/images/A4Grid.jpg]])}}}
+[[./static/images/A4Grid.jpg]]
The notes are encoded in binary in each column using 5 bits which allows for 32 different
pitches. The grid supports 32 different notes that are played sequentially.
@@ -1407,16 +1406,16 @@ histogram of intensities vertically and horizontally. Below is an example of thi
twinkle twinkle little star as an example.
#+caption: Horizontal histogram.
-{{{link([[/images/cut_hist_horiz.jpg]],[[./static/images/cut_hist_horiz.jpg]])}}}
+[[./static/images/cut_hist_horiz.jpg]]
#+caption: Vertical histogram.
-{{{link([[/images/cut_hist_vert.jpg]],[[./static/images/cut_hist_vert.jpg]])}}}
+[[./static/images/cut_hist_vert.jpg]]
The maximum was then used to as a threshold value to determine the individual notes and where the
stave lines and notes were located.
#+caption: Notes detected and turned grey
-{{{link([[/images/pitch_detect.jpg]],[[./static/images/pitch_detect.jpg]])}}}
+[[./static/images/pitch_detect.jpg]]
The grid can then be generated by encoding the pitch of the note as a 5 bit binary number and
drawing the grid.