From 7b781d895e0a63a114c74f2cd174b1b8acf15004 Mon Sep 17 00:00:00 2001 From: CJSatnarine Date: Sun, 18 Jan 2026 03:23:11 -0500 Subject: [PATCH] big website change --- content/_index.md | 7 +++- content/about_me/_index.md | 27 +++++++++++++ content/blog/3d_webring/index.md | 16 ++++++++ content/projects/language_stuff/_index.md | 2 +- .../projects/weekly_blender_render/_index.md | 2 +- content/secrets/forest/index.md | 3 ++ content/stuff_I_like/_index.md | 40 ++++++++++++++----- static/secrets/forest/forest.js | 39 ++++++++++++++---- static/secrets/kennel/woof.js | 6 +-- static/{ => wolf_head}/main.js | 0 static/{ => wolf_head}/window.js | 0 static/{ => wolf_head}/wolf_head.obj | 0 templates/base.html | 8 +++- 13 files changed, 126 insertions(+), 24 deletions(-) create mode 100644 content/about_me/_index.md create mode 100644 content/blog/3d_webring/index.md rename static/{ => wolf_head}/main.js (100%) rename static/{ => wolf_head}/window.js (100%) rename static/{ => wolf_head}/wolf_head.obj (100%) diff --git a/content/_index.md b/content/_index.md index ef7e707..c3199a2 100644 --- a/content/_index.md +++ b/content/_index.md @@ -2,6 +2,11 @@ template = "index.html" title = "CJ Satnarine" +++ - :construction: Under construction. Come back later. :construction: + :construction: Don't mind the mess, the site's still under construction and is undergoing a lot of changes. A lot of projects are missing and will be added soon. :construction: +Hey! My name is CJ, and welcome to my little space on the internet. I just share whatever I feel like here. I'm into a lot of things, from 3D animation and code to history and language. You can find out more in my [about me](@/about_me/_index.md). + +Alright, enjoy looking around. Feel free to [reach out to me](@/contact/_index.md). + +:evergreen_tree: :evergreen_tree: \*escapes and goes into the [forest](@/secrets/forest/index.md)* :evergreen_tree: :evergreen_tree: diff --git a/content/about_me/_index.md b/content/about_me/_index.md new file mode 100644 index 0000000..b865367 --- /dev/null +++ b/content/about_me/_index.md @@ -0,0 +1,27 @@ ++++ +template = "index.html" +title = "About Me" ++++ + +Hey, I'm CJ! I'm an aspiring graphics programmer/techincal artist/game developer from Waterloo, Ontario, Canada. I like coding and art and animation and walking and computers and languages and chasing my cat in the dark and reading and music. I haven't drank any caffeined beverages since 2022. + +> I do not use generative AI in any of my work, and I do not intend to. + +## History +In 2021, I stumbled across Blender, and I spent my last two years in highschool playing around with the software. I had fallen in love with 3D animation at this point. I also played around with Unity, and took mostly coding and computer classes around this time. At some point, I took all the classes that were technology related. In 2023, I of course enrolled into software engineering in post-secondary school. Yikes. Spent a year through that and dropped out after realising it wasn't my cup of tea. It was through this experience, however, I realised I could combine my love for graphics and programming with, wait for it, :sparkles: ***graphics programming*** :sparkles:. + +During that software engineering schooling experience, I took an anthropology elective that really reöpened my interest in a lot of topics under that umbrella, most specifically languages (more info in [here](@/projects/language_stuff/_index.md)). In primary and secondary school, I had an interest in social studies and history, and now I study those topics on my own. + +Nowadays I'm trying to get back into 3D animation and game development, while trying to self-study and occasionally refurbishing computers. + +## Stuff I use: +- Blender (i wuv bwendew ) +- Godot (started using in 2025 to replace Unity) +- GIMP +- Krita +- i use arch btw +- Neovim (code and text editor) +- Obsidian (note taking) +- fooyin (started using it in mid-January of 2026 instead of Spotify) +- Foliate (for e-book reading) +- Helium Browser (replaced Brave browser) diff --git a/content/blog/3d_webring/index.md b/content/blog/3d_webring/index.md new file mode 100644 index 0000000..d7e3c47 --- /dev/null +++ b/content/blog/3d_webring/index.md @@ -0,0 +1,16 @@ ++++ +title = "Concept: Webring for explorable 3D worlds/websites" +date = "2026-01-17" +authors = ["CJ Satnarine"] ++++ + +A while ago, I was working on a personal project where I had some 3D explorable worlds on my website that linked to each other, like entering through one door takes you to another part of the website. Now, that project is somewhat dead, because I realised it's too much work to do all of this by myself. + +However, that gave me the idea of extending these worlds by having a webring of worlds that connect to each other in some way. Perhaps, entering a door leads to your neighbour's website. Or just having a button that teleports you to somewhere (your webring neighbour). I can't even imagine what creative websites might come out of this. + +## Rules +I'm not sure what "rules" goes into what is a considered a 3D explorable website. I don't really know if there's a specific name for these type of websites. I'm just writing this to have my thoughts out here for the webring. What I had envisioned was: +- *The ability to "explore"*: I guess you should be able to move around the website in some way. +- *You should be able to move to a webring neighbour*: The website should allow you to move to another 3D website via some way. I guess folks can get creative with this. + +That's all I can think of for now. I'll definitely have to think about this into more detail, but I just wanted to get the idea out there. If you have any ideas to contribute, feel free to [contact me](@/contact/_index.md)! I'd love to hear your ideas! diff --git a/content/projects/language_stuff/_index.md b/content/projects/language_stuff/_index.md index b0c1ac0..cf67b27 100644 --- a/content/projects/language_stuff/_index.md +++ b/content/projects/language_stuff/_index.md @@ -5,6 +5,6 @@ title = "Language Stuff" I've had an interest in linguistics since I was a child. Recently, I started studying it in my own time. -Throughout my life, I have learnt a bit of a handful of languages. English is my native tongue. Spanish, French, Dutch, and Portuguese (ordered by fluency) were taught in school to me, so my ability to speak is not the best. Since 2020, I was learning German with the help of my Swiss friends. I am currently trying to undo the damage of Schwiizdütsch by strictly learning Hochdeutsch. In 2021, an unfortunate even occured which resulted in me speaking some Danish. I have an interest in other languages: Icelandic, Greek, Russian, Finnish, Greenlandic, Northern Sámi, Mandarin Chinese. Some of these are more realistic than others, but I'll still try my best. +Throughout my life, I have learnt a bit of a handful of languages. English is my native tongue. Spanish, French, Dutch, and Portuguese (ordered by fluency) were taught in school to me, so my ability to speak is not the best. Since 2020, I was learning German with the help of my Swiss friends. I am currently trying to undo the damage of Schwiizdütsch by strictly learning Hochdeutsch. In 2021, an unfortunate even occured which resulted in me speaking some Danish. I have an interest in other languages: Icelandic, Greek, Russian, Finnish, Greenlandic, Northern Sámi, Mandarin Chinese. Some of these are more realistic to learn than others, but I'll still try my best. ## Stuff diff --git a/content/projects/weekly_blender_render/_index.md b/content/projects/weekly_blender_render/_index.md index 9063953..1801996 100644 --- a/content/projects/weekly_blender_render/_index.md +++ b/content/projects/weekly_blender_render/_index.md @@ -2,6 +2,6 @@ template = "blog.html" title = "Weekly Blender Renders" +++ -Every week, I try to complete a render in Blender. It's to force myself to practice Blender, but also a fun challenge to see what I can come up with these time constriants. This is mostly a I was advised by the animation sibling to make the challange a bi-weekly render, I'll see if I'll take that advice after a few weeks. +Every week, I try to complete a render in Blender. It's to force myself to practice Blender, but also a fun challenge to see what I can come up with these time constriants. I was advised by the animation sibling to make the challange a bi-weekly render, I'll see if I'll take that advice after a few weeks. This place will be a weekly devlog of the Blender stuff I've done, and I hope to end each week with at least one Render. diff --git a/content/secrets/forest/index.md b/content/secrets/forest/index.md index 7678179..4f145f6 100644 --- a/content/secrets/forest/index.md +++ b/content/secrets/forest/index.md @@ -1,4 +1,7 @@ +++ title = "The Forest" +++ +The forest is growing, come back another time. + +###### (I forgot to create the forest) diff --git a/content/stuff_I_like/_index.md b/content/stuff_I_like/_index.md index 271a50a..e66cec3 100644 --- a/content/stuff_I_like/_index.md +++ b/content/stuff_I_like/_index.md @@ -2,27 +2,49 @@ template = "index.html" title = "Stuff I Like" +++ + +## Food +- *Bánh mì* is my favourite food right now +- *Shawarma poutine* +- *Bangers and Mash* +- *Mayo and bread with lettuce to feel fancy* +- *Veggie Springrolls* +- *Fish and Chips* +- *Chicken Pineapple pizza with mayo as a dip* +- *Diet/Sugar free Ginger Ale* +- *Chow mein* +- *Lo mein* +- You can always bribe me with *Dark chocolate mint thins* or those *Scottish caramel chocolate wafers* I forgot the name of + ## Music -This is in no way all of my favourite artists, there are too many to list. These are just the ones I really enjoy and don't mind sharing: -- *Molchat Doma* -- *LOOK MUM NO COMPUTER* -- *FIBEL*: I really like their songs Winter and Unique. +This is in no way all of my favourite artists, there are too many to list. These are just the ones I really enjoy and don't mind sharing (in no particular order): + +- *FIBEL* - *HARBOUR* - *Provinz*: I just listened to them a lot when I was learning German. +- *Molchat Doma* +- *LOOK MUM NO COMPUTER* - *DOUBLECAMP* -- *Emil Kárlsen*: I really enjoyed his song Muohta and the album Nagirvárrái. His music was my introduction to the Northern Sámi language. +- *SOFFIE* +- *AJR* +- *Emil Kárlsen*: I really enjoyed his song Muohta and the album Nagirvárrái. - *Dorian Concept* - *tomcbumpz* - *Pogo* +- *anaïs* - *Home* -- *Nanook*: I really like their song Ingerlaliinnaleqaagut. It was my introduction to the Greenlandic language. +- *Nanook*: I really like their song Ingerlaliinnaleqaagut. +- *Paysage D'Hiver* ## Films and Animations - *The Seventh Seal/Det Sjunde Inseglet* (1957, Ingmar Bergman) - *Godland/Volaða Land* (2022, Hlynur Pálmason) - *Bob* (by [InfinityBurrito](https://www.youtube.com/@infinityburrito5299/featured)) - *The Transformers* (1984-1987) +- *Ivan's Childhood* (1962, Andrei Tarkovsky) ## Games I'm not really a gamer but these are some stuff I liked: -- *Sable* (Shedworks) -- *Plants vs. Zombies* (Popcap Games) -- *Viewfinder* (Sad Owl Studios) +- *Navicula Meatus* +- *Broken Reality* +- *Viewfinder* +- *Sable* +- *Plants vs. Zombies* diff --git a/static/secrets/forest/forest.js b/static/secrets/forest/forest.js index f329ee2..6a91d9c 100644 --- a/static/secrets/forest/forest.js +++ b/static/secrets/forest/forest.js @@ -1,23 +1,48 @@ import * as THREE from 'three'; +import { OBJLoader } from 'three/addons/loaders/OBJLoader.js'; const renderer = new THREE.WebGLRenderer({ canvas: document.querySelector('#forest'), }); const scene = new THREE.Scene(); const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 ); +let modelObject = new THREE.Object3D; renderer.setSize( window.innerWidth, window.innerHeight ); renderer.setAnimationLoop( animate ); -const geometry = new THREE.BoxGeometry( 1, 1, 1 ); -const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } ); -const cube = new THREE.Mesh( geometry, material ); -scene.add( cube ); - camera.position.z = 5; +// OBJ loader. +const objectLoader = new OBJLoader(); +objectLoader.load( + "/wolf_head.obj", + function(object) { + console.log(object); + modelObject = object; + object.traverse((child) => { + // instance of is apparently the reason god made typescript + if (child instanceof THREE.Mesh) { + // Create material for the mesh. + child.material = new THREE.MeshStandardMaterial({ color: 0x962FFE }); + child.material.wireframe = true; + child.material.wireframeLinewidth = 1; + child.material.emissive = (new THREE.Color().setHex(0xff3030)); + } + }); + + scene.add(object); + }, + function(xhr) { + console.log((xhr.loaded / xhr.total * 100) + '% loaded'); + }, + function(error) { + console.log('an error happened', error); + } +); + function animate() { - cube.rotation.x += 0.01; - cube.rotation.y += 0.01; + modelObject.rotation.x += 0.01; + modelObject.rotation.y += 0.01; renderer.render( scene, camera ); diff --git a/static/secrets/kennel/woof.js b/static/secrets/kennel/woof.js index e152eb1..e912cb5 100644 --- a/static/secrets/kennel/woof.js +++ b/static/secrets/kennel/woof.js @@ -47,7 +47,7 @@ function init() { room.load( // url of file - '../test2.gltf', + 'test2.gltf', // when resource is loaded function(gltf) { gltf.scene.position.y = -1; @@ -69,9 +69,9 @@ function init() { } ); - image.load('../paw.png', (texture) => { + image.load('paw.png', (texture) => { pawTexture = texture; - image.load('../finger.png', (texture) => { + image.load('finger.png', (texture) => { fingerTexture = texture; const material = new THREE.SpriteMaterial({ map: texture }); currentSprite = new THREE.Sprite(material); diff --git a/static/main.js b/static/wolf_head/main.js similarity index 100% rename from static/main.js rename to static/wolf_head/main.js diff --git a/static/window.js b/static/wolf_head/window.js similarity index 100% rename from static/window.js rename to static/wolf_head/window.js diff --git a/static/wolf_head.obj b/static/wolf_head/wolf_head.obj similarity index 100% rename from static/wolf_head.obj rename to static/wolf_head/wolf_head.obj diff --git a/templates/base.html b/templates/base.html index 4378995..3509df8 100644 --- a/templates/base.html +++ b/templates/base.html @@ -17,8 +17,8 @@ - - + + @@ -26,6 +26,7 @@ Home | Rants Posts | My Stuff | + About Me | Stuff I Like | Contacts and Socials
@@ -46,7 +47,10 @@ < EVILRING > +

+ {##}

Made with Zola and Three.js

+