Preserving LVM Cache

While there are a lot of examples that describe how to set up a LVM cache on an SSD for a HDD backed storage, they mostly fail to describe an additional step needed to preserve the cache across a reboot on a Ubuntu system. The culprit is that the drivers needed to enable the LVM cache are not built into the kernel, nor available in the initrd. Therefore, these drivers need to be added to the initrd. Additionally, some cache Read more

Week 24: Wrapping Things Up (And Saying Goodbye)

This week quietly marked the final chapter of my internship, and it still feels a little unreal writing that sentence. The days were spent polishing and refining the Sayembara website for its final review, making sure the content flows well, the structure feels intuitive, and the visuals clearly tell the story of how Sayembara supports a competition from start to finish. After weeks of sketching ideas, experimenting, fixing mistakes, and learning along the way, it finally felt like everything was Read more

Week 23: Homepage Glow-Up

Homepage got a glow-up this week, feedback in hand, while work on the other Sayembara pages began. It was a mix of experimenting, learning, and figuring out how to explain technical stuff in plain, non-confusing language. Tweaks and Improvements The week started with applying some suggestions from Dr. Shawn on the first draft of the homepage. Elementor was removed because it was a bit tricky to work with, and the overall colour scheme got a bold refresh, moving from light Read more

Week 22: Building the Sayembara Homepage

This week focused on taking the website planning from previous weeks and slowly turning it into something more tangible. Instead of just outlines and ideas, the work shifted toward actual layout and visual structure, starting with the Sayembara homepage. From Structure to Homepage Based on earlier findings and planning, a clear website structure was finalised, beginning with the homepage. The Astra theme was set up, and work started on the landing page layout. The initial homepage draft includes: The main Read more

Week 21: First Steps Into WordPress

This week felt like a mix of beginnings and endings. I submitted my first draft of the Sayembara website outline, received feedback, and immediately started turning ideas into something tangible. At the same time, I attended the last live event of my internship as a technical assistant, which honestly made me pause and realise how fast everything has gone by. From Outline to Experimentation After submitting the website outline and reviewing the comments, I didn’t want to overthink things. I Read more

Week 20: Turning Ideas Into a Clear Website Plan

This week was less about coding and more about thinking. I focused on planning and structuring the Sayembara website, while also reviewing other competition management platforms for reference. The main goal was to figure out how to explain Sayembara clearly to non-technical users, without overwhelming them. Shaping the Website Story I started by drafting the overall structure of the Sayembara website. This included the main pages such as Home, About, Features and Contact. The main challenge was figuring out how Read more

Week 19: Bringing the Admin App to Mobile Life

This week, I worked on something quite new to me: making the admin interface mobile-friendly. The project was originally built purely for desktop, so updating it for smaller screens felt challenging, but also a really exciting learning opportunity. Turning Desktop Tables Into Mobile-Friendly Lists The first step was replacing Datagrid with SimpleList on small screens. Using useMediaQuery, I switched between mobile and desktop layouts automatically. I then went through all seven list pages — Players, Events, Performances, Marks, Results, Roles, Read more

Week 18: Finding Clarity in the Complexity

This week was a little different. I took a few days off to travel to Indonesia for a university programme, so I wasn’t around my laptop as much as usual. But once I got back, I tried my best to quickly get back into the flow and pick up where I left off. Surprisingly, the short break helped me reset my mind, and I came back seeing a few things more clearly. Understanding Sorting From the User’s Perspective Before touching Read more

Week 17: Making Sorting Work (and Tests Too)

This week felt like a steady mix of learning, fixing, and just trying to understand things properly. I’m still getting used to how everything connects in the system, but each small improvement made the bigger picture a little clearer. Making Sorting Actually Work I spent the first part of the week implementing server-side sorting for React Admin lists using a non-partitioned CouchDB setup. I’m still new to CouchDB’s indexing rules, so I had to go through a lot of trial Read more

Week 16: The Week Partition Logic Took Over My Life

If last week felt like a wake-up call, then this week felt like learning how to walk all over again. I spent most of it digging into things I thought I already understood — only to discover that the more I explored, the more questions I had. It was challenging, uncomfortable at times, but also strangely motivating. Looking Closer Than Before I started by revisiting the whole getList flow: filters, sorting, indexes, and how find() and query() actually behaves. I Read more

Week 15: Debugging Myself (Not Just the Code)

This week was a humbling one. Since most of my Flutter front-end tasks were wrapping up, my supervisor decided it was time for me to try something new, the React Admin project, which uses CouchDB as its backend. It sounded exciting at first, but once I actually sat down to work on it, I realized how different (and honestly, how challenging) it was compared to what I was used to. At this point, I’ve come to understand that the language Read more