Hello, world — blog ini dibangun dengan Astro
Post pertama. Kenapa aku pindah ke Astro + Cloudflare Pages dan apa saja yang bisa kamu harapkan dari blog ini.
64 posts. Newest first.
Post pertama. Kenapa aku pindah ke Astro + Cloudflare Pages dan apa saja yang bisa kamu harapkan dari blog ini.
Pelajaran dari tiga tahun bikin Terraform modules yang salah — dan pattern yang akhirnya stick.
Setup observability lengkap (metrics + logs + traces) untuk side project, tanpa tagihan SaaS yang bikin deg-degan.
A one-liner with awk that counts running, paused, idle, and shut-off KVM guests from virsh list --all output. Quick health check on a busy hypervisor.
Notes from messing around with pagespeed.web.dev to see how the blog scores on mobile. Will update as I shave off the obvious wins.
Step-by-step for an infected WordPress site: top to find the rogue process, lsof to locate the file, chmod 000 + chattr +i to neutralize it, then dig through cron and core.
Moving the blog off GhostCMS and from harry.coffee to harry.id. The .coffee TLD was getting expensive — let's see if this version of the site lasts longer.
If you've encountered difficulties in locating the appropriate interface with a 10G uplink, you may have observed instances where the interface fails to appear. This happens when the ixgbe module fails to load due to the detection of an unsupported SFP+ module type. Wondering how to resolve…
harry@Aither ~/Downloads> time find . -type f -exec ls -lah {} + > /dev/null ________________________________________________________ Executed in 67.66 millis fish external usr time 28.07 millis 161.00 micros 27.90 millis sys time 37.10 millis 930.00 micros 36.17 millis harry@Aither ~/Downloads>…
1. D (uninterruptible sleep): The process is in uninterruptible sleep, usually waiting for I/O operations to complete. 2. R (running or runnable): The process is either running or ready to run and is waiting for its turn on the CPU. 3. S (interruptible sleep): The process is in interruptible…
What is LDAP and why it is used? LDAP stands for Lightweight Directory Access Protocol. It is a protocol used for accessing and managing directory information services over a network. A directory service is a centralized database that stores and manages information about users, devices, and…
Specific UID numbers and ranges of numbers are used for specific purposes by Red Hat Enterprise Linux. • UID 0 is always assigned to the superuser account, root. • UID 1-200 is a range of "system users" assigned statically to system processes by Red Hat. • UID 201-999 is a range of "system…
Issue: You may have requirements to update the existing Infrastructure Hosts on your OpenNebula cluster that are currently hosting virtual machines (VMs), but the hosts name can't updated Here is a scenario that illustrates this case: * Existing host: compute1.sgp.example.com * Change host to:…
TL;DR: 1. S0: Also known as the working state, the computer is fully operational with the CPU executing instructions, devices powered on, and the display active. 2. S1: Also known as the sleep state, the CPU stops executing instructions, but the memory and system state are still powered on to…
So here we go. Action Shortcut Open a new Windows Terminal instance Ctrl + Shift + N Open a new default profile tab Ctrl + Shift + T Open a new tab, profile index 1 to 9 Ctrl + Shift + Number(1-9) Switch to tab 1 to 9 Ctrl + Alt + Number(1-9) Switch to the Next tab Ctrl + Tab Switch to the…
WHMCS does not provide a button to mark all modules recently queued as resolved yet. They just provide the Retry All button. However, if you wish to automate this process, you may use your browser's console to run the following JavaScript: const buttons =…
Straightforward, if you get these error messages: Jan 26 10:27:33 c**.com lldpd[3083]: unable to send packet on real device for ens9f1: No such device or address Jan 26 10:27:35 c**.com lldpd[3083]: unable to send packet on real device for enp132s0f0: No such device or address Jan 26 10:27:35…
Ich bin Harry. Sie kennen zu lernen. Why did I start this post in German language, Deutsch? Because I just moved my server out from Singapore to Dussel, Germany. And why the thumbnail is the sausage? It's one of the traditional food in Germany. I hope I can go to 🇩🇪 Germany soon. Bis bald!
CPU1 A1 2600 CPU1 B1 2400 CPU1 A2 2600 CPU1 B2 2400 CPU2 A1 2600 CPU2 B1 2400 CPU2 A2 2600 CPU2 B2 2400 next
Have you heard about localization? lo·cal·i·za·tion is the process of making something local in character or restricting it to a particular place. So why this can be a project? Projects (apps) are regularly written in the international language. But sometimes they want to be in a different local…
Deny all except some IPs Go to your domain on Cloudflare. Choose the Security menu, and go to WAF. Then, Create firewall rule type the Rule name. Fill in the rule with this. * Field: IP Source Address * Operator: is not in * Value: 103.103.103.103, 104.104.104.104 (your allowed IP) * Choose an…
Install It's pretty simple to install docker. Copy this to your terminal. yum install -y yum-utils yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin systemctl enable docker --now…
I just figured out that: RAM is most likely to fail in the first three months so test all RAM before deployment. (iXsystems, Inc. 2022) "Bathtub" Curve Kingston has research that RAM stick is most likely to fail in the first 3 months. Reff:…
These are exceptional cases. When you want to remove volume on your Gluster cluster but everything goes down, you can't delete or even detach any peers. root@DEV-YK[/var/db/system/glusterd]# gluster peer status Number of Peers: 2 Hostname: 192.168.90.9 Uuid: f0a4aab8-701f-4b6a-8e68-9693d2519b4f…
Ever try to retrieve the full name of your Kubernetes Pods? Let's say your pods are running NGINX. Use a JSON query option like this. $ kubectl get pods -l app=nginx -o jsonpath="{.items[0].metadata.name}{'\n'} nginx-85b98978db-kll6q
Dimulainya bulan kuartal pertama di tahun 2022 ini, dimulainya juga penempatan kantor tempat saya berkarir setelah sekian lama ada kegiatan pembangunan kantor baru. Bangunan kantor ini dibangun lebih luas dari kantor sebelumnya. Setiap orang disibukkan dengan kegiatan menata ulang kantor…
So I just figured out that the image (.ISO) on memtest86(.)com doesn't support bootable. For bootable, you need to use an memtest86+ image from memtest86(.)org. So use memtest86+ instead of memtest86.
Build Setup # install dependencies $ npm run install # run on local dev. default on localhost:3000 $ npm run dev # build and run on prod $ npm run build $ npm run start # generate static files $ npm run generate # publish to Cloudflare workers $ npm run publish Next up..
[ghostuser@harry harry.coffee]$ ghost check-update Love open source? We’re hiring Node.js Engineers to work on Ghost full-time. https://careers.ghost.org/product-engineer-node-js New major version available: 5.1.0 [ghostuser@harry harry.coffee]$ ghost update You are running an outdated version…
Ever facing this issue but when you're tried to chmod to 600, it never changed yet? @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0777 for 'dn_rsa' are too open. It is…
Join multiline into one line with space-separated in VIM It's pretty simple using VIM to text editing. Go to command mode: shift + : Type: %j
If you are using TrueNAS UI, it'll take long time to edit dataset quota size for multiple dataset. Instead using TrueNAS UI, you can done that by using CLI. Here is the solution. $ zfs set quota=$value $datasetname1 $datasetname2 $datasetname3 $ zfs get quota nas_jkt2/cp_b1 nas_jkt2/cp_c1…
This oneline bash script can show you how much your memory capacity and their slot. How many your total memory slot? $ dmidecode --type 17|grep 'Locator'|grep -v 'Bank'|wc -l 32 How many your available memory slot? $ dmidecode --type 17|egrep 'No\ Module\ Installed'|cat -n 1 Size: No Module…
Have you ever try to implement filter on your server using IPTables? It's hard isn't it? You should try CSF. CSF Installation Download package First, download latest package of CSF from official website, and extract it. # cd /opt/ # wget https://download.configserver.com/csf.tgz # tar -xvf…
Next project is TrueNAS x OpenZFS. Add VDEV manually because TrueNAS UI doesn't support for partition disk. zpool add -f $pool_name special gptid/1f971a85-7561-11ec-aaac-f4e9d4844700 zpool add -f $pool_name log gptid/0bdad140-7561-11ec-aaac-f4e9d4844700 zpool add -f $pool_name dedup…
Need to buy and install these little tools for the room server.
Which one is good for storage cluster? Let's find this out.
Suatu ketika, saya dihadapkan oleh aplikasi infrastruktur cloud yang tidak menampilkan progress ketika melakukan migrasi VM. There is no progress bar, the way is to see that the VM is being migrated is the state as you said. Take in account that each migration is different and is an synchronous…
Kadang kala beberapa command Linux yang kita install tidak tersedia secara default sebagai service. Saya ambil contoh, Node Exporter Untuk penjelasan lebih detail tentang Node Exporter saya akan jelaskan di tulisan selanjutnya. Jadi untuk mengatasi hal ini, kita perlu membuat service command itu…
Last week I posted about how to blink my disk. Right now, I discovered that we can also blink the NIC. Using this maybe-default-package on linux server, you can blink the NIC. $ sudo ethtool -p $interface $second $ sudo ethtool -p enp1s0 15 This command will blink your enp1s0 for 15 seconds.
Singkat cerita, server tua ini membutuhkan Internet Explorer untuk mengakses iLO. Karena mesin T460s saya sudah terpasang Windows 11, yang mana si Windows versi ini sudah (hampir) menghapus IE. Jadi, walaupun ada opsi untuk membuka IE via Microsoft Edge, tapi tetap saja tidak bisa mengakses IPMI…
Intel's open-source ledmon lets you blink the LED on a specific drive in a server enclosure — handy when you need to physically locate a disk before pulling the wrong one.
Systemd. Systemd. Did you ever face this error when try to initialize pod using kubeadm? [kubelet-check] Initial timeout of 40s passed. [kubelet-check] It seems like the kubelet isn't running or healthy. [kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed…
* findmnt $ findmnt TARGET SOURCE FSTYPE OPTIONS / /dev/sdb2 xfs rw,relatime,attr2,inode64,noquota ├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime │ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime │ ├─/sys/fs/cgroup tmpfs tmpfs ro,nosuid,nodev,noexec,mode=755 │ │…
tmux – terminal multiplexer. Mirroring command :setw synchronize-panes ( on|off )
Suatu gebrakan. Jadi di bulan September ini saya memutuskan untuk membuat akun Instagram. Keputusan ini bukan tanpa sebab. Sudah saya pertimbangkan dari bulan Agustus lalu. Yang menyebabkan keputusan ini adalah sebuah event kompetisi kewirausahaan yang diselenggarakan oleh PT Gelora Djaja selaku…
Suatu ketika, saya dan tim dihadapkan dengan scaling infrastructure. Berbagai komponen disiapkan; processor, memory card, network card, network cable, disk, etc., etc. Semua komponen tersebut perlu dirakit terlebih dahulu sebelum kami loading in ke data center. Dari ketentuan di data center,…
It depends on your storage system. When your nodes storage are shared, the snapshots are available in front-end. Otherwise, you will need to take a look at the node where the VMs is running. Let say I have this storage using GlusterFS. This storage are shared between nodes and front-end. So all…
Regular expression. Thanks to Stephen Cole Kleene who introduced this concepts. I'm not capable enough with regex, I still working on it. Hahaha. I will post here for such common expression. * IP ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ * etc. * etc.
Last Friday of July — celebrating the people who keep the servers warm. Refill that cup, fellow sysadmins.
NKRTHI - Nanti kita riset tentang hal ini. https://www.kernel.org/doc/Documentation/networking/netconsole.txt 1.5. Configuring netconsole Red Hat Enterprise Linux 7 | Red Hat Customer PortalThe Red Hat Customer Portal delivers the knowledge, expertise, and guidance available through your Red Hat…
You may ever facing this issue, and yes so do I. [root@server ~]# some command here perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "C.UTF-8" are supported and installed on your system. perl: warning:…
System Activity Reports — using sar to investigate a sudden server crash. Where the data lives, how to generate plain-text reports, and a free chart tool to actually make sense of the numbers.
A casual chat with my co-mentor about HashiTalks and the HashiCorp stack — Packer, Vagrant, Terraform, Consul, Vault, Nomad, and friends. Notes-to-self for future deep dives.
Quick reference for restricting access in Apache: the order/deny/allow syntax of 2.2 vs the Require syntax of 2.4 — almost the same problem, almost the same words, different config.
When a WHMCS admin loses their 2FA backup codes, the rescue path is a single UPDATE query against tbladmins to clear authmodule and authdata.
Why ES Curator silently refuses to delete old indices when they're managed by ILM — and the one-line fix (allow_ilm_indices: true) that gets it back to work.
An Indonesian acronym I picked up from Pak Rahmat Samik-Ibrahim's blog: Google Sana, Google Sini, Coba Itu, Coba Ini, Lalu Tanya-tanyi — basically my entire workflow as a sysadmin.
Notes on installing the missing python2-certbot-nginx plugin and getting a free Let's Encrypt cert via the nginx authenticator.
I need to research this things in spare times. * compact_memory * glusterfs benchmark performances * netconsole
Reload Logstash pipeline config without restarting the service — just send SIGHUP to the running process and watch the log confirm the reload.
A scratchpad of one-liners I keep typing — find files older than N days, list IPs, and the others I'm too lazy to memorize properly.
I made a list of an awesome projects on GitHub that I've used in my machine. * https://github.com/rupa/z - Jump Around through directory * https://github.com/fish-shell/fish-shell - My most wanted command line shell * https://github.com/FrauBSD/mping - Ping multiple hosts *…
Article imported from the previous Ghost publication, preserved here as part of the harry.id archive.