add more to portfolio

This commit is contained in:
Crispy 2024-09-15 21:54:41 +02:00
parent 3ded8930b2
commit 01884e81b7
9 changed files with 143 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

Binary file not shown.

BIN
site/media/snoud.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -27,7 +27,8 @@ Hi, this is a non-exhaustive list of my personal projects. It appears I like mak
<h3 id="leko-pona">leko pona</h3> <h3 id="leko-pona">leko pona</h3>
<p> <p>
<code>2022-08</code><br> <code>2022-08</code><br>
<a href="https://git.crispypin.cc/CrispyPin/leko-pona">git.crispypin.cc/CrispyPin/leko-pona</a><br> source: <a href="https://git.crispypin.cc/CrispyPin/leko-pona">https://git.crispypin.cc/CrispyPin/leko-pona</a><br>
The deskmat texture was created with my <a href="#julia-fractal-renderer">julia fractal renderer</a><br>
<img loading="lazy" src="/media/leko_tonsi.png" alt="leko pona, a split keyboard with blank keycaps in the trans flag colours" title="leko pona, a split keyboard with blank keycaps in the trans flag colours"></img> <img loading="lazy" src="/media/leko_tonsi.png" alt="leko pona, a split keyboard with blank keycaps in the trans flag colours" title="leko pona, a split keyboard with blank keycaps in the trans flag colours"></img>
</p> </p>
<h2 id="ch32v003-oled-board">ch32v003 oled board</h2> <h2 id="ch32v003-oled-board">ch32v003 oled board</h2>
@ -121,6 +122,18 @@ All the below games except for <code>LD45: Mind the Gap</code> I made together w
<p> <p>
Most of my shaders are made in Unity and uploaded as props for ChilloutVR. All my ChilloutVR props are in <a href="https://git.crispypin.cc/CrispyPin/cvr-props">this repository</a>.<br> Most of my shaders are made in Unity and uploaded as props for ChilloutVR. All my ChilloutVR props are in <a href="https://git.crispypin.cc/CrispyPin/cvr-props">this repository</a>.<br>
</p> </p>
<h3 id="void-sphere">void sphere</h3>
<p>
<code>2024-09</code><br>
My first time making a vertex shader, it generally works on any simple mesh.<br>
<video loading="lazy" src="/media/shaders/void_sphere.mp4" alt="" title="" controls ></video>
</p>
<h3 id="hilbert-worms">hilbert worms</h3>
<p>
<code>2024-09</code><br>
Little worms following the hilbert curve<br>
<video loading="lazy" src="/media/shaders/hilbert_worms.mp4" alt="bright pink pixel worms" title="bright pink pixel worms" controls loop=true></video>
</p>
<h3 id="partial-qr-code">partial QR code</h3> <h3 id="partial-qr-code">partial QR code</h3>
<p> <p>
<code>2024-08</code><br> <code>2024-08</code><br>
@ -131,7 +144,9 @@ A shader that can display qr codes of any size, though it requires computing the
<p> <p>
<code>2024-08</code><br> <code>2024-08</code><br>
A <a href="https://en.wikipedia.org/wiki/Self-reproducing_program">quine</a> is a program that outputs its own source code. Since shaders don't have text or file outputs, a shader quine must render its own source code instead. This shader contains the font data required to be readable.<br> A <a href="https://en.wikipedia.org/wiki/Self-reproducing_program">quine</a> is a program that outputs its own source code. Since shaders don't have text or file outputs, a shader quine must render its own source code instead. This shader contains the font data required to be readable.<br>
<a href="/media/shaders/shader_quine_198x99.png">
<img loading="lazy" src="/media/shaders/shader_quine_198x99.png" alt="a large square of shader code, being rendered by itself" title="a large square of shader code, being rendered by itself"></img> <img loading="lazy" src="/media/shaders/shader_quine_198x99.png" alt="a large square of shader code, being rendered by itself" title="a large square of shader code, being rendered by itself"></img>
</a>
</p> </p>
<h3 id="shader-quine-golf">shader quine golf</h3> <h3 id="shader-quine-golf">shader quine golf</h3>
<p> <p>
@ -223,13 +238,64 @@ See <a href="https://en.wikipedia.org/wiki/Elementary_cellular_automaton">Elemen
<h2 id="godot">godot</h2> <h2 id="godot">godot</h2>
<h3 id="voxel-raymarcher">voxel raymarcher</h3> <h3 id="voxel-raymarcher">voxel raymarcher</h3>
<h1 id="utilities">utilities</h1> <h1 id="utilities">utilities</h1>
<p>
These programs are less flashy and were made out of necessity. I don't expect anyone else to want to use them, but they are available if that was the case.<br>
</p>
<h3 id="snoud">snoud</h3> <h3 id="snoud">snoud</h3>
<p>
<code>2023-02</code><br>
source: <a href="https://git.crispypin.cc/CrispyPin/snoud">https://git.crispypin.cc/CrispyPin/snoud</a><br>
A simple terminal app that plays multiple audio files on loop, meant for background ambience. I use it for rain and wind sound and have it auto-start when I log in.<br>
<img loading="lazy" src="/media/snoud.png" alt="" title=""></img>
</p>
<h3 id="htmd">htmd</h3> <h3 id="htmd">htmd</h3>
<p>
<code>2024-09</code><br>
source: <a href="https://git.crispypin.cc/CrispyPin/htmd">https://git.crispypin.cc/CrispyPin/htmd</a><br>
This is the markdown to html generator that this site is built with. It uses markdown as a base but is far from standard markdown, it has weird quirks and macros that I needed.<br>
</p>
<h3 id="webserver">webserver</h3> <h3 id="webserver">webserver</h3>
<h3 id="julia-fractal-renderer">julia fractal renderer</h3> <h3 id="julia-fractal-renderer">julia fractal renderer</h3>
<p>
<code>2023-07</code><br>
source: <a href="https://git.crispypin.cc/CrispyPin/julia-fractal-renderer">https://git.crispypin.cc/CrispyPin/julia-fractal-renderer</a><br>
I used this to generate the image printed on my deskmat, seen in <a href="#leko-pona">the picture of my keyboard</a><br>
(see source repo for more examples)<br>
<img loading="lazy" src="/media/julia_brain_coral.png" alt="" title=""></img>
<img loading="lazy" src="/media/julia_renderer_gui.png" alt="" title=""></img>
</p>
<h3 id="brainfuck-debugger">brainfuck debugger</h3> <h3 id="brainfuck-debugger">brainfuck debugger</h3>
<p>
<code>2023-12</code><br>
source: <a href="https://git.crispypin.cc/CrispyPin/bf-debugger">https://git.crispypin.cc/CrispyPin/bf-debugger</a><br>
When I was solving some <a href="https://adventofcode.com/2023">Advent of Code</a> problems in <a href="https://esolangs.org/wiki/Brainfuck">Brainfuck</a>, i found myself missing the ability to set breakpoints and step a number of iterations through the program, so I made an interactive brainfuck debugger.<br>
TODO image<br>
</p>
<h3 id="text-editor-lili">text editor lili</h3> <h3 id="text-editor-lili">text editor lili</h3>
<p>
<code>2023-03</code><br>
source: <a href="https://git.crispypin.cc/CrispyPin/lili">https://git.crispypin.cc/CrispyPin/lili</a><br>
<code>lili</code> is a terminal text editor that can keep multiple files open. It is far from perfect, it doesn't handle soft linebreaks well and lacks undo/redo. But wider characters at least work (tabs and emoji).<br>
TODO image<br>
</p>
<h3 id="compiler-timer">compiler-timer</h3> <h3 id="compiler-timer">compiler-timer</h3>
<p>
<code>2024-01</code><br>
source: <a href="https://git.crispypin.cc/crispyPin/compiler-timer">https://git.crispypin.cc/crispyPin/compiler-timer</a><br>
At work, I was frustrated by 20-45 minute C++ compile times, so I made a compiler wrapper that keeps track of build times, and tells me the average time wasted per day.<br>
</p>
<p>
Example output<br>
</p>
<pre>
(regular compiler output)
Build took 18.025s
Total wasted today: 44m 5s
5 day average: 35m 38s
Overall average: 40m 22s
Since 2023-09-07: 55h 11m 22s
</pre>
<h3 id="gdvk-godot-virtual-system-input">GDVK godot virtual system input</h3> <h3 id="gdvk-godot-virtual-system-input">GDVK godot virtual system input</h3>
<h2 id="steamvr">SteamVR</h2> <h2 id="steamvr">SteamVR</h2>
<h3 id="ovr-utils">OVR Utils</h3> <h3 id="ovr-utils">OVR Utils</h3>
@ -242,6 +308,16 @@ See <a href="https://en.wikipedia.org/wiki/Elementary_cellular_automaton">Elemen
<h3 id="asetniop-emulator-for-x11">asetniop emulator for x11</h3> <h3 id="asetniop-emulator-for-x11">asetniop emulator for x11</h3>
<h3 id="june">june</h3> <h3 id="june">june</h3>
<h3 id="neuralblender-mc">neuralblender-mc</h3> <h3 id="neuralblender-mc">neuralblender-mc</h3>
<p>
<code>2021-09</code><br>
<a href="https://github.com/crispypin/neuralblender-mc">https://github.com/crispypin/neuralblender-mc</a><br>
This was before the "AI" hype bubble became as obnoxious as it is now. I found the website neuralblender.com (no they don't deserve a hyperlink), which generated quite terrible images from a text prompt. There was no information about the website anywhere.<br>
I made a stupid input-emulating script that ran in a vm and generated textures for every texture in minecraft 1.17.<br>
</p>
<p>
The cursed flowers in the picture below are poppies, which for some reason resulted in a blue-haired cryptid in the corner.<br>
<img loading="lazy" src="/media/neuralblender_minecraft.png" alt="minecraft with very weird textures. Poppy flowers are cursed" title="minecraft with very weird textures. Poppy flowers are cursed"></img>
</p>
<h3 id="minesweeper-rs">minesweeper-rs</h3> <h3 id="minesweeper-rs">minesweeper-rs</h3>
<h3 id="rust-mandelbrot">rust-mandelbrot</h3> <h3 id="rust-mandelbrot">rust-mandelbrot</h3>
<h3 id="voxel-meshing-godot-c">voxel-meshing godot c++</h3> <h3 id="voxel-meshing-godot-c">voxel-meshing godot c++</h3>

View file

@ -11,7 +11,7 @@ main {
background-color: #f8eeff; background-color: #f8eeff;
} }
code { code, pre {
font-size: 1rem; font-size: 1rem;
background-color: #eeccee; background-color: #eeccee;
color: #003; color: #003;
@ -26,7 +26,7 @@ code {
main { main {
background-color: #222; background-color: #222;
} }
code { code, pre {
background-color: #1c1c1c; background-color: #1c1c1c;
color: #f90; color: #f90;
} }

View file

@ -10,7 +10,8 @@ Hi, this is a non-exhaustive list of my personal projects. It appears I like mak
# hardware # hardware
### leko pona ### leko pona
`2022-08` `2022-08`
[git.crispypin.cc/CrispyPin/leko-pona](https://git.crispypin.cc/CrispyPin/leko-pona) source: [https://git.crispypin.cc/CrispyPin/leko-pona](https://git.crispypin.cc/CrispyPin/leko-pona)
The deskmat texture was created with my [julia fractal renderer](#julia-fractal-renderer)
==image:"/media/leko_tonsi.png":"leko pona, a split keyboard with blank keycaps in the trans flag colours" ==image:"/media/leko_tonsi.png":"leko pona, a split keyboard with blank keycaps in the trans flag colours"
## ch32v003 oled board ## ch32v003 oled board
@ -87,6 +88,16 @@ All the below games except for `LD45: Mind the Gap` I made together with [Erikbo
# shaders # shaders
Most of my shaders are made in Unity and uploaded as props for ChilloutVR. All my ChilloutVR props are in [this repository](https://git.crispypin.cc/CrispyPin/cvr-props). Most of my shaders are made in Unity and uploaded as props for ChilloutVR. All my ChilloutVR props are in [this repository](https://git.crispypin.cc/CrispyPin/cvr-props).
### void sphere
`2024-09`
My first time making a vertex shader, it generally works on any simple mesh.
==video:"/media/shaders/void_sphere.mp4"
### hilbert worms
`2024-09`
Little worms following the hilbert curve
==video:"/media/shaders/hilbert_worms.mp4":"bright pink pixel worms":loop=true
### partial QR code ### partial QR code
`2024-08` `2024-08`
A shader that can display qr codes of any size, though it requires computing the error correction codes beforehand. Partially because it would be slow to do for every pixel every frame, but mostly because I couldn't find a resource explaining how to do it. A shader that can display qr codes of any size, though it requires computing the error correction codes beforehand. Partially because it would be slow to do for every pixel every frame, but mostly because I couldn't find a resource explaining how to do it.
@ -95,7 +106,9 @@ A shader that can display qr codes of any size, though it requires computing the
### shader quine ### shader quine
`2024-08` `2024-08`
A [quine](https://en.wikipedia.org/wiki/Self-reproducing_program) is a program that outputs its own source code. Since shaders don't have text or file outputs, a shader quine must render its own source code instead. This shader contains the font data required to be readable. A [quine](https://en.wikipedia.org/wiki/Self-reproducing_program) is a program that outputs its own source code. Since shaders don't have text or file outputs, a shader quine must render its own source code instead. This shader contains the font data required to be readable.
<a href="/media/shaders/shader_quine_198x99.png">
==image:"/media/shaders/shader_quine_198x99.png":"a large square of shader code, being rendered by itself" ==image:"/media/shaders/shader_quine_198x99.png":"a large square of shader code, being rendered by itself"
</a>
### shader quine golf ### shader quine golf
`2024-08` `2024-08`
@ -172,13 +185,55 @@ See [Elementary cellular automaton (Wikipedia)](https://en.wikipedia.org/wiki/El
## godot ## godot
### voxel raymarcher ### voxel raymarcher
# utilities # utilities
These programs are less flashy and were made out of necessity. I don't expect anyone else to want to use them, but they are available if that was the case.
### snoud ### snoud
`2023-02`
source: [https://git.crispypin.cc/CrispyPin/snoud](https://git.crispypin.cc/CrispyPin/snoud)
A simple terminal app that plays multiple audio files on loop, meant for background ambience. I use it for rain and wind sound and have it auto-start when I log in.
==image:"/media/snoud.png"
### htmd ### htmd
`2024-09`
source: [https://git.crispypin.cc/CrispyPin/htmd](https://git.crispypin.cc/CrispyPin/htmd)
This is the markdown to html generator that this site is built with. It uses markdown as a base but is far from standard markdown, it has weird quirks and macros that I needed.
### webserver ### webserver
### julia fractal renderer ### julia fractal renderer
`2023-07`
source: [https://git.crispypin.cc/CrispyPin/julia-fractal-renderer](https://git.crispypin.cc/CrispyPin/julia-fractal-renderer)
I used this to generate the image printed on my deskmat, seen in [the picture of my keyboard](#leko-pona)
(see source repo for more examples)
==image:"/media/julia_brain_coral.png"
==image:"/media/julia_renderer_gui.png"
### brainfuck debugger ### brainfuck debugger
`2023-12`
source: [https://git.crispypin.cc/CrispyPin/bf-debugger](https://git.crispypin.cc/CrispyPin/bf-debugger)
When I was solving some [Advent of Code](https://adventofcode.com/2023) problems in [Brainfuck](https://esolangs.org/wiki/Brainfuck), i found myself missing the ability to set breakpoints and step a number of iterations through the program, so I made an interactive brainfuck debugger.
TODO image
### text editor lili ### text editor lili
`2023-03`
source: [https://git.crispypin.cc/CrispyPin/lili](https://git.crispypin.cc/CrispyPin/lili)
`lili` is a terminal text editor that can keep multiple files open. It is far from perfect, it doesn't handle soft linebreaks well and lacks undo/redo. But wider characters at least work (tabs and emoji).
TODO image
### compiler-timer ### compiler-timer
`2024-01`
source: [https://git.crispypin.cc/crispyPin/compiler-timer](https://git.crispypin.cc/crispyPin/compiler-timer)
At work, I was frustrated by 20-45 minute C++ compile times, so I made a compiler wrapper that keeps track of build times, and tells me the average time wasted per day.
Example output
```
(regular compiler output)
Build took 18.025s
Total wasted today: 44m 5s
5 day average: 35m 38s
Overall average: 40m 22s
Since 2023-09-07: 55h 11m 22s
```
### GDVK godot virtual system input ### GDVK godot virtual system input
## SteamVR ## SteamVR
### OVR Utils ### OVR Utils
@ -191,6 +246,14 @@ See [Elementary cellular automaton (Wikipedia)](https://en.wikipedia.org/wiki/El
### asetniop emulator for x11 ### asetniop emulator for x11
### june ### june
### neuralblender-mc ### neuralblender-mc
`2021-09`
[https://github.com/crispypin/neuralblender-mc](https://github.com/crispypin/neuralblender-mc)
This was before the "AI" hype bubble became as obnoxious as it is now. I found the website neuralblender.com (no they don't deserve a hyperlink), which generated quite terrible images from a text prompt. There was no information about the website anywhere.
I made a stupid input-emulating script that ran in a vm and generated textures for every texture in minecraft 1.17.
The cursed flowers in the picture below are poppies, which for some reason resulted in a blue-haired cryptid in the corner.
==image:"/media/neuralblender_minecraft.png":"minecraft with very weird textures. Poppy flowers are cursed"
### minesweeper-rs ### minesweeper-rs
### rust-mandelbrot ### rust-mandelbrot
### voxel-meshing godot c++ ### voxel-meshing godot c++