<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Rafif Genadratama</title><link>https://rafifgen.github.io/</link><description>Recent content on Rafif Genadratama</description><generator>Hugo</generator><language>id-ID</language><lastBuildDate>Thu, 16 Apr 2026 11:29:51 +0700</lastBuildDate><atom:link href="https://rafifgen.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Water Level</title><link>https://rafifgen.github.io/projects/water-level/</link><pubDate>Thu, 16 Apr 2026 11:29:51 +0700</pubDate><guid>https://rafifgen.github.io/projects/water-level/</guid><description>&lt;p&gt;WIP.&lt;/p&gt;
&lt;p&gt;logging:&lt;/p&gt;
&lt;h3 id="15042026"&gt;15/04/2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I decided to use the code from &lt;a href="https://www.cytron.io/tutorial/esp32-water-tank-monitoring"&gt;Azfar Rosdi&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I learnt that &lt;code&gt;pulseIn(pin, state)&lt;/code&gt; is used to calculate
how long certain &lt;code&gt;pin&lt;/code&gt; go from &lt;code&gt;!state&lt;/code&gt; to &lt;code&gt;state&lt;/code&gt;.
It returns the time spent in microseconds.&lt;/li&gt;
&lt;li&gt;Now why did the water level indicator not work on my waffer jar?&lt;/li&gt;
&lt;li&gt;I read from &lt;a href="https://handsontec.com/dataspecs/sensor/SR-04-Ultrasonic.pdf"&gt;HandsOn Tech User Guide&lt;/a&gt; that the surface must have a minimum area of 0.5m&lt;!-- raw HTML omitted --&gt;2&lt;!-- raw HTML omitted --&gt;. Maybe that&amp;rsquo;s why, need to confirm it anyway.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h3 id="04012026"&gt;04/01/2026&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I learnt about SPIFFS (SPI Flash Filesystem). It&amp;rsquo;s a file system used for SPI NOR flash device; a memory commonly used for embedded devices &lt;a href="https://www.gigadevice.com/product/flash/spi-nor-flash"&gt;GigaDevice&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I learnt that SPIFFS is mounted at /spiffs.&lt;/li&gt;
&lt;li&gt;I learnt that SPIFFS store files in a flat structure. So, for example, if I store a file like /spiffs/dir/file1.txt, this file has a name &amp;ldquo;/dir/file1.txt&amp;rdquo; instead a file1.txt in a /dir/ directory &lt;a href="https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/storage/spiffs.html"&gt;SPIFFS&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Cashflow Template</title><link>https://rafifgen.github.io/projects/cashflow-template/</link><pubDate>Wed, 25 Mar 2026 06:58:24 +0700</pubDate><guid>https://rafifgen.github.io/projects/cashflow-template/</guid><description>&lt;p&gt;&lt;img alt="Spreadsheets" loading="lazy" src="../cashflow.png"&gt;&lt;br&gt;
TL;DR: here&amp;rsquo;s the &lt;a href="https://docs.google.com/spreadsheets/d/1J2R384GSFyt4PZ8fETerrzRpyW6wUISCo3m-uBc913E/edit?usp=drivesdk"&gt;link&lt;/a&gt;, dude.&lt;/p&gt;
&lt;p&gt;Initially, I used &lt;a href="https://zotiger.com"&gt;Money+ by zotiger studios&lt;/a&gt; for my cashflow tracking. But, because I want cloud sync across my devices (and absolutely I couldn&amp;rsquo;t afford to buy the premium Money+ yet), I thought of using Google Spreadsheet. I tried looking for a template. Then, I got one from Home Sweet Loan (2024) film. The main character uses a Google Spreadsheet to track her finance. But, I found it quite excessive than what I needed then. It looked like it was made to track a person&amp;rsquo;s whole networth rather than day to day cashflow. Hence, I made this template for my cashflow tracking.&lt;/p&gt;</description></item></channel></rss>