<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Nekomangini blog</title><link>https://nekomangini.github.io/</link><description>Recent content on Nekomangini blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 10 Nov 2026 13:27:11 +0800</lastBuildDate><atom:link href="https://nekomangini.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Fixing Hyprland Black Screen on NixOS With an NVIDIA GPU</title><link>https://nekomangini.github.io/post/fixing-hyprland-black-screen-on-nixos-with-an-nvidia-gpu/</link><pubDate>Tue, 10 Nov 2026 13:27:11 +0800</pubDate><guid>https://nekomangini.github.io/post/fixing-hyprland-black-screen-on-nixos-with-an-nvidia-gpu/</guid><description>&lt;p&gt;I wanted to move my NixOS desktop to Hyprland with a Lua config and the Noctalia shell. Logging in gave me a black screen and nothing else. This post is the path I took to fix it, including the dead ends, because the dead ends are where most of the learning happened.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Setup:&lt;/strong&gt; NixOS 26.05, Hyprland 0.55.2, Home Manager as a NixOS module, GTX 1050 Ti, three monitors, and a flake-based dotfiles repo.&lt;/p&gt;</description></item><item><title>Void Linux Setup and Why I Moved On</title><link>https://nekomangini.github.io/post/void-linux-setup-and-why-i-moved-on/</link><pubDate>Tue, 27 Oct 2026 11:17:24 +0800</pubDate><guid>https://nekomangini.github.io/post/void-linux-setup-and-why-i-moved-on/</guid><description>&lt;p&gt;My laptop is a Lenovo IdeaPad 120S with only 2GB of RAM — not exactly a powerhouse.&#10;NixOS was out of the question, so I turned to Void Linux, a minimal and fast&#10;distribution that felt right at home on constrained hardware.&lt;/p&gt;&#10;&lt;p&gt;Here&amp;rsquo;s how I set it up from scratch, and why I eventually moved on.&lt;/p&gt;&#10;&lt;h2 id="installation"&gt;Installation&lt;/h2&gt;&#10;&lt;p&gt;Installation was straightforward — I just followed the official&#10;&lt;a href="https://docs.voidlinux.org/installation/live-images/guide.html"&gt;Void Linux guide&lt;/a&gt;.&#10;After booting in, the first thing to do is a full system update:&lt;/p&gt;</description></item><item><title>Setting Up KDE Connect on NixOS</title><link>https://nekomangini.github.io/post/setting-up-kdeconnect-on-nixos/</link><pubDate>Tue, 02 Jun 2026 17:55:03 +0800</pubDate><guid>https://nekomangini.github.io/post/setting-up-kdeconnect-on-nixos/</guid><description>&lt;p&gt;No matter what desktop environment or window manager I use, KDE Connect is an absolute necessity. Clipboard sharing, receiving phone notifications on my desktop, and using my phone as an emergency trackpad are features I simply cannot live without.&lt;/p&gt;&#10;&lt;p&gt;But as with most things, setting up network-dependent services on NixOS requires a bit of planning. You can&amp;rsquo;t just install the package and expect device discovery to work out of the box—our system firewall has other plans.&lt;/p&gt;</description></item><item><title>Managing Secrets on NixOS: My Journey with Agenix</title><link>https://nekomangini.github.io/post/managing-secrets-on-nixos/</link><pubDate>Fri, 08 May 2026 12:07:22 +0800</pubDate><guid>https://nekomangini.github.io/post/managing-secrets-on-nixos/</guid><description>&lt;p&gt;As my NixOS configuration grows, so does the need to handle sensitive data securely. I’ve recently started using &lt;strong&gt;Agenix&lt;/strong&gt; to manage secrets, specifically to hide project folder paths.&lt;/p&gt;&#10;&lt;p&gt;The transition hasn&amp;rsquo;t been without its hurdles, particularly setting up Agenix as a noob.&lt;/p&gt;&#10;&lt;h2 id="the-challenge-installing-agenix"&gt;The Challenge: Installing Agenix&lt;/h2&gt;&#10;&lt;p&gt;As I continue to &amp;ldquo;rice&amp;rdquo; my system and automate my workflows, I’ve hit a common roadblock: how to handle sensitive data without leaking it to my public GitHub repository. My latest challenge involves using &lt;strong&gt;Agenix&lt;/strong&gt; to hide project folder paths for testing purposes.&lt;/p&gt;</description></item><item><title>Setting Up Helix for Vue.js Development on NixOS</title><link>https://nekomangini.github.io/post/setting-up-helix-for-vuejs-development-on-nixos/</link><pubDate>Thu, 30 Apr 2026 22:44:29 +0800</pubDate><guid>https://nekomangini.github.io/post/setting-up-helix-for-vuejs-development-on-nixos/</guid><description>&lt;p&gt;Following my move to NixOS and my shift toward &lt;strong&gt;Helix&lt;/strong&gt; as my primary editor, I recently tackled the challenge of setting up a robust Vue.js development environment. While the &lt;a href="https://github.com/helix-editor/helix/wiki/Language-Server-Configurations#vue"&gt;Helix Wiki&lt;/a&gt; provides a great starting point, NixOS adds a unique layer of complexity when it comes to locating plugins in the &lt;code&gt;/nix/store&lt;/code&gt;.&lt;/p&gt;&#10;&lt;p&gt;Here is how I got it working.&lt;/p&gt;&#10;&lt;h2 id="the-toolchain"&gt;The Toolchain&lt;/h2&gt;&#10;&lt;p&gt;First, we need to ensure the necessary language servers and formatters are available in the environment. I use Home Manager to manage these packages:&lt;/p&gt;</description></item><item><title>My Descent Into the NixOS Rabbithole: A Retrospective</title><link>https://nekomangini.github.io/post/my-descent-into-the-nixos-rabbithole/</link><pubDate>Fri, 24 Apr 2026 23:14:26 +0800</pubDate><guid>https://nekomangini.github.io/post/my-descent-into-the-nixos-rabbithole/</guid><description>&lt;p&gt;I’ve been using NixOS since October 2025. I’ll be honest: I’m still very much a beginner, so if you see me doing something &amp;ldquo;the wrong way,&amp;rdquo; I am more than happy to be corrected! To keep my head above water, I’ve been living by the &lt;a href="https://nixos-and-flakes.thiscute.world/nixos-with-flakes/get-started-with-nixos"&gt;NixOS &amp;amp; Flakes Book&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="the-config-migration"&gt;The Config Migration&lt;/h2&gt;&#10;&lt;p&gt;At first, I kept my NixOS config in the standard &lt;code&gt;/etc/nixos/&lt;/code&gt; directory. But as a developer, I wanted to keep it in a GitHub repository, and managing a Git repo inside &lt;code&gt;/etc&lt;/code&gt; is&amp;hellip; a bit of a headache.&lt;/p&gt;</description></item><item><title>From openSUSE to NixOS: A Migration Story</title><link>https://nekomangini.github.io/post/from-opensuse-to-nixos/</link><pubDate>Tue, 03 Mar 2026 01:42:10 +0800</pubDate><guid>https://nekomangini.github.io/post/from-opensuse-to-nixos/</guid><description>&lt;p&gt;The last time I updated this blog was back in September 2024. If you’ve been wondering where I disappeared to, the answer is simple: I fell deep down the Neovim and Emacs rabbit holes. What started as &amp;ldquo;just a few tweaks&amp;rdquo; to my dotfiles turned into a month-long obsession with perfecting my development environment. Since then, my setup has evolved even further—I&amp;rsquo;ve actually switched from Neovim to &lt;strong&gt;Helix&lt;/strong&gt; for my main editing, while still keeping Emacs around specifically for the power of &lt;strong&gt;Org-mode&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Animation Log 12</title><link>https://nekomangini.github.io/post/animation-log-12/</link><pubDate>Fri, 20 Sep 2024 10:52:19 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-12/</guid><description>&lt;h2 id="princess-zelda-character-animation"&gt;Princess zelda character animation&lt;/h2&gt;&#10;&lt;p&gt;For this animation practice, I revisited the fundamentals by animating a walk cycle.&#10;This session provided valuable insight into core animation principles, although I encountered several challenges, particularly with more intricate parts of the character&amp;rsquo;s movement.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/QV-_8fCfWgM?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I Learned:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Revisited basic body mechanics through a walk cycle.&lt;/li&gt;&#10;&lt;li&gt;Gained a deeper understanding of character movement fundamentals.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Problems Encountered:&lt;/p&gt;</description></item><item><title>Animation Log 11</title><link>https://nekomangini.github.io/post/animation-log-11/</link><pubDate>Thu, 19 Sep 2024 16:22:15 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-11/</guid><description>&lt;h2 id="stick-figure-animation"&gt;Stick figure animation&lt;/h2&gt;&#10;&lt;p&gt;For this animation practice, I continued applying what I learned from my previous session. One of the key things I realized was the importance of getting the right timing and spacing between frames to create smooth and fluid animation.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/Fay9k2GHumY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I Learned:&lt;/p&gt;</description></item><item><title>Blender Keys</title><link>https://nekomangini.github.io/post/blender-keys/</link><pubDate>Tue, 17 Sep 2024 14:00:14 +0800</pubDate><guid>https://nekomangini.github.io/post/blender-keys/</guid><description>&lt;p&gt;A small Flutter app I built so I would stop hunting through menus for shortcuts. Every&#10;workspace gets its own screen listing the keys and what they do.&lt;/p&gt;&#10;&lt;p&gt;Here are some screenshots:&lt;/p&gt;&#10;&lt;figure&gt;&lt;img src="https://nekomangini.github.io/post/blender-keys/01.webp"&#10;&#9;&#9;&#9;alt="Blender Keys home screen listing shortcut categories: Animation, General/Viewport, Geometry Nodes, Grease Pencil, Modeling, Rendering, Rigging, Sculpting and Shading." width="360"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;figure&gt;&lt;img src="https://nekomangini.github.io/post/blender-keys/02.webp"&#10;&#9;&#9;&#9;alt="Geometry Nodes shortcut list, showing entries such as Shift&amp;#43;A to add a node and H to collapse a node." width="360"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;figure&gt;&lt;img src="https://nekomangini.github.io/post/blender-keys/03.webp"&#10;&#9;&#9;&#9;alt="Modeling shortcut list, showing entries such as Ctrl&amp;#43;B to bevel a selection and P to separate the selection into its own object." width="360"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;figure&gt;&lt;img src="https://nekomangini.github.io/post/blender-keys/04.webp"&#10;&#9;&#9;&#9;alt="Sculpting shortcut list, showing entries such as F for brush size, B for mask and M for mask brush." width="360"&gt;&#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;You can check the source code at &lt;a href="https://github.com/nekomangini/blenderkeys"&gt;blenderkeys&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Animation Log 10</title><link>https://nekomangini.github.io/post/animation-log-10/</link><pubDate>Mon, 29 Jul 2024 06:57:33 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-10/</guid><description>&lt;h2 id="princess-zelda-character-animation"&gt;Princess zelda character animation&lt;/h2&gt;&#10;&lt;p&gt;For this animation practice, I tried rotomation. It was challenging because it&amp;rsquo;s a new technique for me. I also noticed that my animation was not fluid or smooth enough, likely because I did not polish the curve editor sufficiently. In the future, I plan to continue practicing rotomation.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/-ScQaXHt9Kg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I Learned:&lt;/p&gt;</description></item><item><title>Animation Log 09</title><link>https://nekomangini.github.io/post/animation-log-09/</link><pubDate>Mon, 01 Jul 2024 10:34:25 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-09/</guid><description>&lt;h2 id="stick-figure-animation"&gt;Stick figure animation&lt;/h2&gt;&#10;&lt;p&gt;For this animation practice, I enjoyed using the NLA editor so much that I decided to create two versions of the animations. I found the process engaging and insightful. However, I encountered some challenges when combining three action sequences in the NLA editor.&lt;/p&gt;&#10;&lt;h3 id="1st-version"&gt;1st version&lt;/h3&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/UFGn7kmrRqQ?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;h3 id="2nd-version"&gt;2nd version&lt;/h3&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/o2ufUApaWHY?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I learned:&lt;/p&gt;</description></item><item><title>Animation Log 08</title><link>https://nekomangini.github.io/post/animation-log-08/</link><pubDate>Tue, 25 Jun 2024 21:20:52 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-08/</guid><description>&lt;h2 id="stick-figure-animation"&gt;Stick figure animation&lt;/h2&gt;&#10;&lt;p&gt;In this animation practice, I experimented with using the NLA (Non-Linear Animation) editor to extend a simple animation I had created. Additionally, I learned how to use the graph editor to clean up and smooth out the animation. This practice was highly educational, and I gained significant insights into the animation process. In the future, I plan to use the action editor and the pose mode together with the NLA editor to speed up my animation workflow.&lt;/p&gt;</description></item><item><title>Animation Log 07</title><link>https://nekomangini.github.io/post/animation-log-07/</link><pubDate>Sun, 16 Jun 2024 16:17:25 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-07/</guid><description>&lt;h2 id="stick-figure-animation"&gt;Stick figure animation&lt;/h2&gt;&#10;&lt;p&gt;In this animation practice, I started by creating a storyboard before proceeding to the animation phase. However, I found myself deviating from the storyboard as I realized there were missing elements in my animations, particularly regarding body mechanics. Despite this, the exercise was highly educational, providing valuable insights into the importance of storyboarding and the nuances of body mechanics.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/CQs40sPly_A?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I learned:&lt;/p&gt;</description></item><item><title>Animation Log 06</title><link>https://nekomangini.github.io/post/animation-log-06/</link><pubDate>Sun, 09 Jun 2024 17:05:11 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-06/</guid><description>&lt;h2 id="stick-figure-animation"&gt;Stick figure animation&lt;/h2&gt;&#10;&lt;p&gt;In this animation practice, I challenged myself by animating a punch animation involving two characters. Throughout the process, I encountered several challenges. Firstly, animating two characters simultaneously proved to be more complex than anticipated. Secondly, accurately capturing the impact and follow-through animations of the punch posed additional difficulties. To tackle these challenges, I employed a combination of layered animation and straight-ahead animation techniques.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/gbqeo9UijSo?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I learned:&lt;/p&gt;</description></item><item><title>Animation Log 05</title><link>https://nekomangini.github.io/post/animation-log-05/</link><pubDate>Sun, 02 Jun 2024 17:04:00 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-05/</guid><description>&lt;h2 id="flour-sack-animation"&gt;Flour sack animation&lt;/h2&gt;&#10;&lt;p&gt;In this animation practice, I focused on animating a walk cycle for a flour sack character using a diagonal camera view instead of employing two camera angles. Upon review, I noticed that the flour sack exhibited excessive hunching of its back during the walk cycle. Moving forward, I intend to study and correct this issue in future animation practices.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/J7d1Zu0uhL4?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I learned:&lt;/p&gt;</description></item><item><title>Animation Log 04</title><link>https://nekomangini.github.io/post/animation-log-04/</link><pubDate>Sun, 26 May 2024 17:01:55 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-04/</guid><description>&lt;h2 id="flour-sack-animation"&gt;Flour sack animation&lt;/h2&gt;&#10;&lt;p&gt;In this animation practice, I attempted to animate a walk cycle of a flour sack. Upon reflection, I realize that incorporating a second camera view, specifically showing the side profile of the walk cycle, would have provided a more comprehensive view. Moving forward, I intend to animate a more cartoony walk cycle in my next project.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/SXxOaDj7nqA?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I learned:&lt;/p&gt;</description></item><item><title>Animation Log 03</title><link>https://nekomangini.github.io/post/animation-log-03/</link><pubDate>Sun, 19 May 2024 17:33:06 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-03/</guid><description>&lt;h2 id="ball-animation"&gt;Ball animation&lt;/h2&gt;&#10;&lt;p&gt;In this animation practice, I attempted to replicate the motion of a pendulum. Reflecting on the process, I realize that utilizing a physics simulator would have yielded more accurate results. Despite this, the experience was invaluable as it provided me with several key learnings.&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/V6nvjp-650c?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;What I learned:&lt;/p&gt;</description></item><item><title>Animation Log 02</title><link>https://nekomangini.github.io/post/animation-log-02/</link><pubDate>Sun, 12 May 2024 17:52:09 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-02/</guid><description>&lt;h2 id="ball-animation"&gt;Ball animation&lt;/h2&gt;&#10;&lt;p&gt;For this animation project, I animated a bouncing ball using a hard ball as reference. Drawing inspiration from its distinct movement characteristics, I meticulously crafted the animation to achieve realistic dynamics. I am pleased with the outcome, which effectively captures the physicality of the hard ball. This experience deepened my understanding of motion principles and strengthened my skills in translating real-world physics into animation&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/hM76goxwA4k?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;p&gt;Key Learnings:&lt;/p&gt;</description></item><item><title>Animation Log 01</title><link>https://nekomangini.github.io/post/animation-log-01/</link><pubDate>Sun, 05 May 2024 17:17:16 +0800</pubDate><guid>https://nekomangini.github.io/post/animation-log-01/</guid><description>&lt;h2 id="ball-animation"&gt;Ball animation&lt;/h2&gt;&#10;&lt;p&gt;As you can see in the video below, during my recent animation project involving a soft ball, I encountered an issue with the bounce dynamics. The ball&amp;rsquo;s movement lacked the desired degree of realism and elasticity, which detracted from the overall impact of the animation.&lt;/p&gt;&#10;&lt;p&gt;To address this, I plan to extend the animation duration. By allowing more time for the ball to interact with its environment and demonstrate a more pronounced bounce, I aim to achieve a smoother and more lifelike portrayal of its physical properties.&lt;/p&gt;</description></item></channel></rss>