• How I Fix Docker Unreliability


    Problems This are the problem I encounter when self-hosting application in docker: I store my data/media in a NAS which is different machine from the server that run docker. I use samba as protocol of choice since it simplify my setup on multiple device (smartphone, tablet, laptop, desktop). I don’t use NFS since it doesn’t have authentication protection. When my server boot up after power loss, the NAS will be ready AFTER main server where the docker run. This means mounting network share will fail on boot. Docker container that rely on network share filesystem will not start properly. AFAIK docker cannot auto restart container that failed to start to begin with. My Solution Use docker volume to mount network share Create new docker volume that will mount network share

  • Year 2024 in Review


    Notable Events upgrade ssd on macbook forking trivago/prettier-plugin-twig-melody into zackad/prettier-plugin-twig receive first sponsorship on github become victim of hacked datacenter Assetto Corsa run on linux failed to replace keyboard switch sold motorbike Tech Stack configure NixOS using flake use main domain to host blog post use real domain for selfhosted service on home network start using frankenphp for personal project start using i3wm on nixos with xfce desktop replace brave browser with firefox on android replace photoprism with immich as selfhosted photo manager learning flatpak as package manager migrate x86_64 into aarch64 on cloud server failed to setup dokku on arm based server (I give up) learning various tool for backup and synchronization syncthing borg borgmatic learn about MusicBrainz Picard application to manage music metadata Purchases android phone, not really being used docking station for steamdeck nvme ssd for steamdeck yet another gamepad ifixit essentials kit 1440p monitor wireless laser printer (returned due to wrong model) pre-order kobo ereader Entertainment learning about rougelike game genre, playing Hades play Yakuza: Like a Dragon (on hold)

  • Hide Fullpath From Project Explorer on Jetbrains IDE


    Open menu Help -> Edit Custom Properties... or you can use Search Everywhere feature by double tap Shift key Put this code project.tree.structure.show.url=false Restart IDE Before After Ref: https://stackoverflow.com/questions/40699438/hide-full-path-next-to-project-in-intellij

  • My Terminal Emulator Journey


    Over the years, I use different terminal emulator. Each has their own pros and cons. This is a summary of my experience. Gnome Terminal First terminal emulator that I use. Comes pre-installed on ubuntu, my first linux distro. At this point, I don’t really know about customizing terminal emulator and shell. Mainly used to install or configure system. Has everything I need out of the box (at that point). No obvious cons for my usage. No longer use it since I don’t like gnome DE.

  • How to Fix GPG decrypt on Wezterm intalled via Flatpak


    Problem When I try to decrypt my password from password-store, I got following error. $ pass zackad/bitwarden -c gpg: public key decryption failed: No such device or address gpg: decryption failed: No such device or address I though that my gpg setup is broken. It turn out the terminal I install (wezterm) via flatpak cannot acces /dev/tty or something similar. When I run command tty on the terminal it give me error.

  • TIL: You Can Track Playing Time of Non-Steam Game


    Update: 2024-01-28 This trick NO longer work If you want to track your gaming session (and other application usage) on windows, give ProcrastiTracker a try. In linux I recommend Lutris. Original Article If you have non-steam game[0] added to steam launcher, one feature that missing is ability to track playtime. It turn out that you can simply move your non-steam game into steam library folder and it will recognize the game and add playtime tracking just fine.

  • I Give Up on Linux Gaming


    Over the last few years I’ve been using linux desktop as main workspace and upgrade it into relatively powerfull machine. Either for software development, data analysys, and gaming. Unfortunately the gaming part is the most painfull experience for me. It’s just unreliable to play games on linux environment. You never know if the game you try to play will run or not. Everytime I update my system (kernel update, driver update, application update) something just broke. The game refuse to start. I need to tinker it by checking the logs. Sometimes it works, most of the times it’s not. The most frustating part is controller rumble support. Playing racing game without rumble feedback is like missing half of the experience.

  • Build and Configure PHP with phpenv+php-build


    Step 1 - Install The Tools Install phpenv $ git clone https://github.com/phpenv/phpenv.git ~/.phpenv Install php-build as phpenv plugin $ git clone https://github/com/php-build/php-build.git ~/.phpenv/plugins/php-build Add phpenv into PATH (put into .profiles/.bashrc/.zshrc or something similar) export PATH="${HOME}/.phpenv/bin:{$PATH}" eval "$(phpenv init -)" Reload your shell / Re-open your terminal Step 2 - Update Definitions We need to update php-build definitions periodically to get the available php versions. $ cd ~/.phpenv/plugins/php-build $ git fetch $ git merge origin/master --ff Step 3 - Compiling $ PHP_BUILD_CONFIGURE_OPTS="--with-sodium --with-pgsql --with-pdo-pgsql --with-zip --with-json --with-xml --enable-fpm" \ PHP_BUILD_XDEBUG_ENABLE=off \ PHP_BUILD_INSTALL_EXTENSION="apcu=5.1.22 pcov=1.0.11" \ phpenv install 8.1.12 Step 4 - Switching Version # List installed versions $ phpenv versions # Switch into specific version $ phpenv global 8.1.12

  • Reclaim Video Memory for Headless Server


    I bought a Beelink SER3 mini pc for my home server. It has 8GB memory and 256GB storage. Barely enough for my use case to run several service such as vaultwarden, nextcloud, freshrss, plex media server and other thing. In the future I might want to install gitlab or youtrack. For that I need to upgrade the memory to atleast 16GB. The thing is, it come pre-installed with windows 11 and from the marketing material it is intended for lightweight desktop usage (office suite, watch video) and boasting to be able running at 4K resolution. No wonder that the allocated video memory from RAM is around 2GB. I notice that after replacing windows with archlinux the main memory only read as 5.xGB. I always thought that video memory is done by OS, it turn out I need to configure it in the BIOS. Here’s the setting

  • Scrapping Leaflet Marker Data


    This is a snippet to scrap data from leaflet map generated by https://sekolah.data.kemdikbud.go.id/index.php/Cpetasebaran/index/000000/ Select data you want to scrap Figure 1: Select data to be scrapped Open developer console on your browser and paste following code // Retrieve layers data as array let layers = Object.keys(map._layers).map((key) => map._layers[key]) // Filter with popup only let points = layers.filter((layer) => layer._popupHandlersAdded) // Do something with the results let results = points.map((point) => ({ coordinate: point.getLatLng(), data: point.getPopup().getContent() })) // Extract essentials data let processed = results.map((item) => { // Create dummy element for querying DOM const element = document.createElement('div') element.innerHTML = item.data const schoolId = element.querySelector('a').href.split('/').pop() let data = element.querySelectorAll('li') data = [...data].map((el) => { const result = el.textContent.replace('NPSN : ', '').replace('Alamat : ', '') return result }) data.push(schoolId) return { coordinate: item.coordinate, npsn: data[0], nama: data[1], alamat: data[2], id: data[3] } }) localStorage.setItem('results', JSON.stringify(processed)) Now we can retrieve the results from localStorage. Open Storage tabs, navigate to Local Storage, select and copy Figure 2: Copy from localStorage

subscribe via RSS