Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
8cc2679f90 |
@ -3,67 +3,6 @@
|
||||
--shadow-colour: #3f0aff;
|
||||
}
|
||||
|
||||
p {
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
.silkscreen-regular,
|
||||
.categories > a,
|
||||
.tags > span > a,
|
||||
.taxonomy-element > a {
|
||||
font-family: "Silkscreen", sans-serif;
|
||||
font-weight: 400;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.navigation-title {
|
||||
font-size: 4rem !important;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.about > *,
|
||||
.content header h1,
|
||||
.navigation-title {
|
||||
font-family: "Pirata One", apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, "游ゴシック", "PingFang SC", STXihei, "华文细黑", "Microsoft YaHei", "微软雅黑", SimSun, "宋体", Heiti, "黑体", sans-serif !important;
|
||||
font-weight: 400 !important;
|
||||
font-style: normal !important;
|
||||
}
|
||||
|
||||
.about {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.about > h1 {
|
||||
font-size: 5rem !important;
|
||||
}
|
||||
|
||||
.about > h2 {
|
||||
font-size: 3rem !important;
|
||||
}
|
||||
|
||||
@mixin shadowed {
|
||||
box-shadow: var(--shift) var(--shift) 2px var(--shadow-colour);
|
||||
translate: calc(var(--shift) * -1) calc(var(--shift) * -1);
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
transition: box-shadow, translate;
|
||||
transition-duration: var(--duration);
|
||||
transition-timing-function: ease-in-out;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 0px var(--shadow-colour);
|
||||
translate: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.shadowed {
|
||||
--shift: 8px;
|
||||
--duration: 0.2s;
|
||||
|
||||
@include shadowed;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////
|
||||
// AVATAR
|
||||
@ -79,7 +18,14 @@ p {
|
||||
border-width: 7px;
|
||||
border-color: black;
|
||||
|
||||
// filter: drop-shadow(var(--shift) 8px 1px var(--shadow-colour));
|
||||
// translate: calc(var(--shift) * -1) calc(var(--shift) * -1);
|
||||
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
// transition: filter, translate;
|
||||
// transition-duration: 1s;
|
||||
// transition-timing-function: ease-in-out;
|
||||
|
||||
animation: shift-avatar 3s ease-in-out infinite alternate backwards;
|
||||
|
||||
@keyframes shift-avatar {
|
||||
@ -121,9 +67,10 @@ p {
|
||||
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 17rem;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
|
||||
translate: calc(var(--shift) * -1) calc(var(--shift) * -1);
|
||||
|
||||
@ -184,26 +131,27 @@ p {
|
||||
}
|
||||
}
|
||||
|
||||
.text-section {
|
||||
div {
|
||||
z-index: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
margin-top: 50px;
|
||||
margin-bottom: 50px;
|
||||
margin-right: 5%;
|
||||
margin-left: 5%;
|
||||
}
|
||||
|
||||
p {
|
||||
color: white;
|
||||
margin: auto;
|
||||
text-align: center !important;
|
||||
text-shadow: 3px 3px 5px black;
|
||||
margin: 0;
|
||||
text-shadow: 0px 2px black;
|
||||
}
|
||||
|
||||
.center-link-text {
|
||||
a {
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
text-align: center !important;
|
||||
text-underline-offset: 3px;
|
||||
text-decoration-skip-ink: auto;
|
||||
text-decoration-skip-ink: all;
|
||||
}
|
||||
}
|
||||
|
||||
@ -219,86 +167,3 @@ p {
|
||||
.footer-logo:hover {
|
||||
filter: contrast(0%) drop-shadow(7px 7px 5px grey);
|
||||
}
|
||||
|
||||
///////////////////////
|
||||
// ART GRID
|
||||
///////////////////////
|
||||
|
||||
.art-grid {
|
||||
--shift: 5px;
|
||||
--duration: 0.2s;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
|
||||
& > figure > img {
|
||||
border: 5px solid black;
|
||||
@include shadowed;
|
||||
}
|
||||
|
||||
& > .art-col-2 {
|
||||
grid-column: span 2;
|
||||
}
|
||||
|
||||
& > .art-col-3 {
|
||||
grid-column: span 3;
|
||||
}
|
||||
|
||||
& > .art-row-2 {
|
||||
grid-row: span 2;
|
||||
}
|
||||
|
||||
& > .art-row-3 {
|
||||
grid-row: span 3;
|
||||
}
|
||||
}
|
||||
|
||||
.art-home-grid {
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.dev-grid {
|
||||
display: grid;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
.dev-grid-col-2 {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.dev-grid-col-3 {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 768px) {
|
||||
.art-grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.art-home-grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
.dev-grid {
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.youtube-embed {
|
||||
iframe {
|
||||
--shift: 8px;
|
||||
--duration: .2s;
|
||||
|
||||
width: 100%;
|
||||
aspect-ratio: 16/9;
|
||||
border-radius: 20px;
|
||||
|
||||
border: 5px solid black;
|
||||
|
||||
@include shadowed;
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
baseURL = 'https://sarsoo.xyz/'
|
||||
languageCode = 'en-gb'
|
||||
title = 'sarsoo'
|
||||
title = 'sarsoo.xyz'
|
||||
theme = 'hugo-coder'
|
||||
|
||||
paginate = 40
|
||||
|
@ -2,12 +2,7 @@
|
||||
title: 'Art'
|
||||
---
|
||||
|
||||
<div class="art-home-grid">
|
||||
|
||||
{{% image-box-link src="/art/animal/gorilla-baby.jpg" href="/art/animal" title="Animals" %}}
|
||||
{{% image-box-link src="/art/portrait/updown.jpg" href="/art/portrait" title="Portraits" %}}
|
||||
{{% image-box-link src="/art/portrait/skull.jpg" href="/art/portrait" title="Portraits" %}}
|
||||
{{% image-box-link src="/art/sketchbook/flowers.jpg" href="/art/sketchbook" title="Sketchbook" %}}
|
||||
{{% image-box-link src="/art/life/brown-white.jpg" href="/art/life" title="Life" %}}
|
||||
{{% image-box-link src="/art/portrait/skull.jpg" href="/art/digital" title="Digital" %}}
|
||||
|
||||
</div>
|
||||
{{% image-box-link src="/art/life/brown-white.jpg" href="/art/life" title="Life" %}}
|
Before Width: | Height: | Size: 934 KiB After Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 897 KiB |
Before Width: | Height: | Size: 915 KiB |
Before Width: | Height: | Size: 689 KiB After Width: | Height: | Size: 1.4 MiB |
@ -2,14 +2,8 @@
|
||||
title: 'Animals'
|
||||
---
|
||||
|
||||
{{< art-grid >}}
|
||||
|
||||
{{< figure src="zu.jpg" >}}
|
||||
{{< figure src="zu-charcoal.jpg" class="art-col-2" >}}
|
||||
{{< figure src="orangutan.jpg" >}}
|
||||
{{< figure src="gorilla-baby.jpg" >}}
|
||||
{{< figure src="dali.png" >}}
|
||||
{{< figure src="chimp.jpg" >}}
|
||||
{{< figure src="chimp.png" >}}
|
||||
|
||||
{{< /art-grid >}}
|
||||
{{< figure src="zu.jpg" >}}
|
||||
{{< figure src="zu-charcoal.jpg" >}}
|
||||
{{< figure src="orangutan.jpg" >}}
|
||||
{{< figure src="gorilla-baby.jpg" >}}
|
||||
{{< figure src="chimp.jpg" >}}
|
||||
|
Before Width: | Height: | Size: 529 KiB After Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 715 KiB After Width: | Height: | Size: 2.6 MiB |
Before Width: | Height: | Size: 868 KiB |
@ -1,12 +0,0 @@
|
||||
---
|
||||
title: 'Digital'
|
||||
---
|
||||
|
||||
{{< art-grid >}}
|
||||
|
||||
{{< figure src="/art/portrait/skull.jpg" >}}
|
||||
{{< figure src="tilt.png" >}}
|
||||
{{< figure src="/images/holo-avatar.jpg" >}}
|
||||
{{< figure src="arms-up.png" >}}
|
||||
|
||||
{{< /art-grid >}}
|
Before Width: | Height: | Size: 818 KiB |
Before Width: | Height: | Size: 528 KiB After Width: | Height: | Size: 1019 KiB |
Before Width: | Height: | Size: 693 KiB |
Before Width: | Height: | Size: 762 KiB After Width: | Height: | Size: 5.3 MiB |
Before Width: | Height: | Size: 1011 KiB After Width: | Height: | Size: 894 KiB |
@ -2,13 +2,7 @@
|
||||
title: 'Life'
|
||||
---
|
||||
|
||||
{{< art-grid >}}
|
||||
|
||||
{{< figure src="bikini.jpg" >}}
|
||||
{{< figure src="brown-white.jpg" class="art-col-2" >}}
|
||||
{{< figure src="grey.jpg" >}}
|
||||
{{< figure src="red-blue.jpg" >}}
|
||||
{{< figure src="blue.png" >}}
|
||||
{{< figure src="ink-pencil.png" >}}
|
||||
|
||||
{{< /art-grid >}}
|
||||
{{< figure src="bikini.jpg" >}}
|
||||
{{< figure src="brown-white.jpg" >}}
|
||||
{{< figure src="grey.jpg" >}}
|
||||
{{< figure src="red-blue.jpg" >}}
|
||||
|
Before Width: | Height: | Size: 839 KiB |
Before Width: | Height: | Size: 786 KiB After Width: | Height: | Size: 4.5 MiB |
Before Width: | Height: | Size: 733 KiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 823 KiB After Width: | Height: | Size: 1.2 MiB |
@ -2,17 +2,10 @@
|
||||
title: 'Portrait'
|
||||
---
|
||||
|
||||
{{< art-grid >}}
|
||||
|
||||
{{< figure src="freddie.jpg" >}}
|
||||
{{< figure src="girlskull.jpg" >}}
|
||||
{{< figure src="head-back.jpg" >}}
|
||||
{{< figure src="self.jpg" >}}
|
||||
{{< figure src="/art/sketchbook/line-face.jpg" >}}
|
||||
{{< figure src="/art/sketchbook/bran.jpg" >}}
|
||||
{{< figure src="/art/sketchbook/mushroom.jpg" >}}
|
||||
{{< figure src="skull.jpg" >}}
|
||||
{{< figure src="tyler.jpg" >}}
|
||||
{{< figure src="updown.jpg" >}}
|
||||
|
||||
{{< /art-grid >}}
|
||||
{{< figure src="freddie.jpg" >}}
|
||||
{{< figure src="girlskull.jpg" >}}
|
||||
{{< figure src="head-back.jpg" >}}
|
||||
{{< figure src="self.jpg" >}}
|
||||
{{< figure src="skull.jpg" >}}
|
||||
{{< figure src="tyler.jpg" >}}
|
||||
{{< figure src="updown.jpg" >}}
|
||||
|
Before Width: | Height: | Size: 593 KiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 817 KiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 828 KiB After Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 731 KiB After Width: | Height: | Size: 1.4 MiB |
Before Width: | Height: | Size: 837 KiB After Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 596 KiB After Width: | Height: | Size: 1.5 MiB |
Before Width: | Height: | Size: 916 KiB After Width: | Height: | Size: 1.5 MiB |
@ -2,20 +2,13 @@
|
||||
title: 'Sketchbook'
|
||||
---
|
||||
|
||||
{{< art-grid >}}
|
||||
|
||||
{{< figure src="blindfold.jpg" >}}
|
||||
{{< figure src="bran.jpg" >}}
|
||||
{{< figure src="buildings.jpg" >}}
|
||||
{{< figure src="flowers.jpg" >}}
|
||||
{{< figure src="grey.jpg" >}}
|
||||
{{< figure src="hand-muscle.jpg" >}}
|
||||
{{< figure src="ok.png" >}}
|
||||
{{< figure src="music.png" class="art-col-2" >}}
|
||||
{{< figure src="line-face.jpg" >}}
|
||||
{{< figure src="mushroom.jpg" >}}
|
||||
{{< figure src="kawagawa.png" >}}
|
||||
{{< figure src="smoke.jpg" >}}
|
||||
{{< figure src="spindly.jpg" >}}
|
||||
|
||||
{{< /art-grid >}}
|
||||
{{< figure src="blindfold.jpg" >}}
|
||||
{{< figure src="bran.jpg" >}}
|
||||
{{< figure src="buildings.jpg" >}}
|
||||
{{< figure src="flowers.jpg" >}}
|
||||
{{< figure src="grey.jpg" >}}
|
||||
{{< figure src="hand-muscle.jpg" >}}
|
||||
{{< figure src="line-face.jpg" >}}
|
||||
{{< figure src="mushroom.jpg" >}}
|
||||
{{< figure src="smoke.jpg" >}}
|
||||
{{< figure src="spindly.jpg" >}}
|
||||
|
Before Width: | Height: | Size: 946 KiB |
Before Width: | Height: | Size: 888 KiB After Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 799 KiB After Width: | Height: | Size: 1.6 MiB |
Before Width: | Height: | Size: 609 KiB |
Before Width: | Height: | Size: 688 KiB |
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 1.8 MiB |
Before Width: | Height: | Size: 758 KiB After Width: | Height: | Size: 3.6 MiB |
@ -12,11 +12,9 @@ aliases:
|
||||
[![Docker](https://img.shields.io/badge/docker-%230db7ed.svg?style=for-the-badge&logo=docker&logoColor=white)](https://git.sarsoo.xyz/sarsoo/-/packages?q=&type=container)
|
||||
[![Kubernetes](https://img.shields.io/badge/kubernetes-%23326ce5.svg?style=for-the-badge&logo=kubernetes&logoColor=white)](https://git.sarsoo.xyz/sarsoo/-/packages?q=&type=helm)
|
||||
|
||||
<div class="dev-grid dev-grid-col-2">
|
||||
{{% image-box-link src="/posts/mixonomer/PlaylistExample.png" href="/posts/mixonomer" title="Mixonomer" caption="Python + React" %}}
|
||||
|
||||
{{% image-box-link src="/posts/selector/dashboard.png" href="/posts/selector/" title="Selector" caption="C# + TypeScript + Vue.js" %}}
|
||||
</div>
|
||||
|
||||
# [Infrastructure]({{< relref "infra" >}})
|
||||
|
||||
@ -28,13 +26,11 @@ Basically, Terraform creates and destroys infrastructure, Ansible manages the OS
|
||||
|
||||
[Read More]({{< relref "infra" >}})
|
||||
|
||||
<div class="dev-grid dev-grid-col-3">
|
||||
{{% image-box-link src="/posts/visual-search/mapSurfaceWithMax2.png" href="/posts/visual-search" title="Visual Search" caption="MATLAB" %}}
|
||||
|
||||
{{% image-box-link src="/posts/lpss/hood_m_gram.png" href="/posts/lpss" title="Speech Synth" caption="MATLAB" %}}
|
||||
{{% image-box-link src="/posts/lpss/hood_m_gram.png" href="/posts/lpss" title="Speech Synthesiser" caption="MATLAB" %}}
|
||||
|
||||
{{% image-box-link src="/posts/markov/StateTopology.png" href="/posts/markov" title="Hidden Markov Models" caption="Python + Numpy" %}}
|
||||
</div>
|
||||
|
||||
# [Holoportation](/holo)
|
||||
|
||||
@ -49,17 +45,15 @@ The holograms are captured in the form of a __point cloud__, a cluster of colour
|
||||
|
||||
My undergraduate dissertation documented extending the [__LiveScan3D__](https://github.com/MarekKowalski/LiveScan3D) holoportation platform to allow multi-source streaming. The existing capabilities allowed a single scene to be captured in real-time and streamed elsewhere for viewing, multi-source allows multiple independent scenes to be received and composited at the same time (a many-to-one system).
|
||||
|
||||
{{< youtube id=NP0aVjuk5fU autoplay=true controls=false loop=true class=youtube-embed >}}
|
||||
{{< youtube NP0aVjuk5fU >}}
|
||||
|
||||
[Read More](/holo)
|
||||
|
||||
<div class="dev-grid dev-grid-col-3">
|
||||
{{% image-box-link src="/posts/dnstp/server.png" href="/posts/dnstp" title="dnstp" caption="Rust" %}}
|
||||
|
||||
{{% image-box-link src="/posts/draught/checkers-board.png" href="/posts/draught" title="Draught" caption="Rust + Js" %}}
|
||||
|
||||
{{% image-box-link src="/posts/game-of-life/gameoflife1.png" href="/posts/game-of-life" title="Game of Life" caption="Rust + Js" %}}
|
||||
</div>
|
||||
|
||||
# [Mixonomer](/mixonomer)
|
||||
|
||||
|
@ -42,7 +42,7 @@ My undergraduate dissertation was tasked with extending the original software to
|
||||
|
||||
The development works by including an ID to indicate what source a frame of footage represents.
|
||||
|
||||
{{< youtube id=NP0aVjuk5fU autoplay=true controls=false loop=true class=youtube-embed >}}
|
||||
{{< youtube NP0aVjuk5fU >}}
|
||||
|
||||
###### A couple of recorded sources operating in the virtual space. A third live one is connected part way through
|
||||
|
||||
|
13
content/posts/local-k8s/index.md
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
title: "k3s: Playing with Kubernetes at home"
|
||||
date: 2024-10-13T08:26:40+00:00
|
||||
tags:
|
||||
- Networking
|
||||
- K8s
|
||||
categories:
|
||||
- Homelab
|
||||
---
|
||||
|
||||
# Terraform
|
||||
|
||||
# Longhorn
|
21
layouts/partials/head.html
Normal file
@ -0,0 +1,21 @@
|
||||
{{ partial "head/meta-tags.html" . }}
|
||||
|
||||
{{ if .Permalink }}
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
{{ end }}
|
||||
|
||||
{{ partialCached "head/theme-styles.html" . }}
|
||||
|
||||
{{ partialCached "head/color-scheme.html" . }}
|
||||
|
||||
{{ partialCached "head/custom-styles.html" . }}
|
||||
|
||||
{{ partialCached "head/custom-icons.html" . }}
|
||||
|
||||
{{ partial "head/alternative-output-formats.html" . }}
|
||||
|
||||
{{ partialCached "head/hugo-generator.html" . }}
|
||||
|
||||
{{ partial "head/extensions.html" . }}
|
||||
|
||||
<!-- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous"> -->
|
@ -1,4 +0,0 @@
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Pirata+One&family=Silkscreen&display=swap">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Pirata+One&family=Silkscreen&display=swap" rel="stylesheet">
|
@ -1,3 +0,0 @@
|
||||
<div class="art-grid">
|
||||
{{ .Inner }}
|
||||
</div>
|
@ -2,11 +2,12 @@
|
||||
<div class="box-link">
|
||||
<span aria-hidden="true"></span>
|
||||
<img loading="lazy" alt="" src="{{ .Get "src" }}">
|
||||
<div class="text-section">
|
||||
<div>
|
||||
<p style="font-size:30px;">
|
||||
<a class="center-link-text" href="{{ .Get "href" }}">{{ .Get "title" }}</a>
|
||||
<a href="{{ .Get "href" }}">{{ .Get "title" }}</a>
|
||||
</p>{{if isset .Params "caption" }}
|
||||
<p class="silkscreen-regular">{{ .Get "caption" }}</p>{{end}}
|
||||
<p style="font-family: monospace;
|
||||
margin-top: 20px;">{{ .Get "caption" }}</p>{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 329 B |
Before Width: | Height: | Size: 592 B |
@ -1,8 +0,0 @@
|
||||
{
|
||||
"short_name": "Sarsoo",
|
||||
"name": "Sarsoo",
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#3f0aff",
|
||||
"background_color": "#ffffff"
|
||||
}
|
@ -1 +1 @@
|
||||
Subproject commit f69d6d6da728790a5f0bb1c5e2047174bc8f185c
|
||||
Subproject commit 759cc945636473d251a28597e2007cbb7d11631d
|