Skip to content
View hrace009's full-sized avatar
๐Ÿ 
Working from home
๐Ÿ 
Working from home

Block or report hrace009

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please donโ€™t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
hrace009/README.md

$ whoami

<?php

declare(strict_types=1);

final readonly class Harris
{
    public function __construct(
        public string $handle     = 'hrace009',
        public string $role       = 'Technical Assistant ยท Perusahaan Migas',
        public string $sideQuest  = 'Server engineer & community maintainer',
        public string $lokasi     = 'Pekanbaru, Riau, Indonesia',
        public string $timezone   = 'Asia/Jakarta (WIB, GMT+7)',
        public int    $pengalaman = 15, // tahun, dan masih ngitung
    ) {}

    /** Hal yang saya kerjakan tanpa perlu disuruh dua kali. */
    public function fokus(): array
    {
        return [
            'backend'  => ['Laravel 12', 'REST API', 'Queue & Job', 'Payment gateway'],
            'infra'    => ['Rocky Linux 9', 'NGINX', 'MariaDB', 'Hyper-V', 'GCP'],
            'native'   => ['C++', 'C#', 'Qt6', 'Lua'],
            'lowlevel' => ['Ghidra', 'IDA Pro', 'Binary format parsing'],
            'data'     => ['Power BI', 'SharePoint', 'Project information system'],
        ];
    }

    /** Aturan yang tidak pernah saya langgar. */
    public function prinsip(): array
    {
        return [
            'Jangan pernah tulis langsung ke database production โ€” lewat API.',
            'Kalau dikerjakan lebih dari dua kali, otomasikan.',
            'Dokumentasi ditulis sekarang, bukan nanti.',
            'Rollback plan disiapkan sebelum deploy, bukan sesudah panik.',
        ];
    }
}

Singkatnya: saya betah di lapisan yang jarang dilihat orang โ€” bagaimana service saling bicara, bagaimana binary di-parse, bagaimana satu baris konfigurasi menentukan sistem bertahan atau tumbang saat trafik naik.


$ cat stack.txt

Bahasa & Framework

bahasa

Infrastruktur & Database

infra

Tools & Environment

tools

$ tree ~/expertise

โš™๏ธ ย Backend Engineering
Area Detail
Arsitektur Service layer, repository pattern, DTO, action class, strict types
API REST design, versioning, rate limiting, API resource & transformer
Async Queue worker, job batching, scheduled task, retry & backoff strategy
Auth Role & permission, token lifecycle, session hardening
Payment QRIS, Virtual Account, PayPal โ€” termasuk penanganan callback & idempotensi
๐Ÿ–ฅ๏ธ ย Infrastruktur & Operasional
Area Detail
Provisioning Rocky Linux 9 dari bare install sampai siap produksi lewat script
Web layer NGINX reverse proxy, TLS via Let's Encrypt, tuning worker & buffer
Database MariaDB tuning, backup & restore, recovery dari korupsi tabel
Virtualisasi Hyper-V, WSL 2 multi-instance, migrasi VMDK โ†’ VHDX
Keamanan Fail2ban, SSH hardening, firewall policy, penanganan insiden brute-force
Deployment Bash automation untuk patching, rollout bertahap, dan verifikasi pasca-deploy
๐ŸŽฎ ย Game Server Development
Area Detail
Arsitektur emulator Delivery, link, game, database, auth, dan log service
Data file Parsing format binary tertutup dan tabel konfigurasi game
Scripting Lua untuk skill, quest, event, dan penyeimbangan class
Client Patching C++, version check, batasan fitur, anti-cheat & HWID
Tooling Aplikasi desktop Qt6 dan C# WinForms untuk editor data
๐Ÿ” ย Reverse Engineering
Area Detail
Disassembly Ghidra, IDA Pro, Capstone untuk memetakan memory offset
Hooking Detour, injeksi DLL, intersepsi fungsi runtime
Analisis format Membedah struktur file tanpa dokumentasi resmi
Debugging Menelusuri crash native sampai ke instruksi penyebabnya
๐Ÿ“Š ย Data & Reporting
Area Detail
Power BI Dashboard operasional, pemodelan data, relasi antar tabel
SharePoint Struktur dokumen, kontrol versi, alur persetujuan
Sistem proyek Sistem informasi manajemen proyek untuk kebutuhan lapangan

$ ls -la ~/projects

๐Ÿ–ฅ๏ธ ย Server Infrastructure

Provisioning dan hardening cluster Rocky Linux 9 di cloud โ€” dirancang menahan ribuan koneksi simultan dengan jendela maintenance terjadwal dan rollback yang teruji.

Rocky Linux 9 ยท NGINX ยท Let's Encrypt ยท Fail2ban ยท Automated patching

๐Ÿงฉ ย Web Panel Laravel

Panel manajemen akun, pengguna, dan transaksi. Seluruh akses data melewati API โ€” tidak ada satu pun query yang menyentuh database secara langsung dari sisi panel.

Laravel 12 ยท Livewire ยท Tailwind ยท MariaDB ยท QRIS / VA / PayPal

๐Ÿค– ย Discord Bot

Bot Node.js dengan discord.js v14: status service, lookup data, account linking, dan event logging โ€” semuanya routing lewat Laravel API, bukan koneksi database langsung.

Node.js ยท discord.js v14 ยท REST integration

๐Ÿ”ฉ ย Native & Client Engineering

Patching aplikasi C++, Lua scripting untuk logika gameplay dan balancing, serta aplikasi desktop Qt6 dengan penyimpanan kredensial terenkripsi AES-256.

C++ ยท Qt6 ยท C# ยท Lua ยท AES-256

๐Ÿ” ย Reverse Engineering

Analisis binary menggunakan Ghidra dan Capstone untuk memetakan memory offset serta membedah struktur file format tertutup yang tidak punya dokumentasi.

Ghidra ยท IDA Pro ยท Capstone ยท Binary parsing

๐Ÿ’ฌ ย PSDevHub

Forum dan knowledge base untuk developer berbahasa Indonesia โ€” tempat menaruh solusi yang biasanya cuma nyangkut di thread forum luar negeri dan hilang setahun kemudian.

hrace009.com


$ cat workflow.md

Cara saya menangani pekerjaan, dari masalah sampai selesai:

flowchart LR
    A[Masalah masuk] --> B{Reproducible?}
    B -- Tidak --> C[Kumpulkan log<br/>& metrik dulu]
    C --> B
    B -- Ya --> D[Isolasi<br/>akar masalah]
    D --> E[Rancang solusi<br/>+ rollback plan]
    E --> F{Sentuh<br/>production?}
    F -- Ya --> G[Uji di staging<br/>atau VM lokal]
    F -- Tidak --> H[Implementasi]
    G --> H
    H --> I[Verifikasi<br/>& monitoring]
    I --> J[Dokumentasikan]
    J --> K{Berulang?}
    K -- Ya --> L[Otomasikan]
    K -- Tidak --> M[Selesai]
Loading

Prinsipnya sederhana: jangan menebak di production, dan jangan menyelesaikan masalah yang sama dua kali secara manual.


$ neofetch

harris@homelab:~$ neofetch

        .-/+oossssoo+/-.          harris@homelab
    `:+ssssssssssssssssss+:`      ------------------------------------
  -+ssssssssssssssssssyyssss+-    Role .......... Technical Assistant
 /ssssssssssshdmmNNmmyNMMMMhssss/ Field ......... Oil & Gas ยท IT
+ssssssssshmydMMMMMMMNddddyssssss+Location ...... Pekanbaru, ID (WIB)
/sssssssshNMMMyhhyyyyhmNMMMNhssss/Experience .... 15+ tahun
.ssssssssdMMMNhsssssssshNMMMdssss.Daily OS ...... Windows + WSL 2
+sssshhhyNMMNyssssssssssyNMMMysss+Server OS ..... Rocky Linux 9
ossyNMMMNyMMhsssssssssssshmmmhssso Hypervisor ... Hyper-V
ossyNMMMNyMMhsssssssssssshmmmhssso Editor ....... VS Code ยท JetBrains
+sssshhhyNMMNyssssssssssyNMMMysss+ Shell ........ bash ยท PowerShell
.ssssssssdMMMNhsssssssshNMMMdssss. Database ..... MariaDB
/sssssssshNMMMyhhyyyyhdNMMMNhssss/ Web server ... NGINX
+sssssssssdmydMMMMMMMMddddyssssss+ Uptime ....... sejak lama, minus maintenance
/ssssssssssshdmNNNNmyNMMMMhssss/   
  -+sssssssssssssssssyyyssss+-     
    `:+ssssssssssssssssss+:`       
        .-/+oossssoo+/-.           

$ cat learning.md

Yang sedang aktif saya dalami sekarang:

Advanced Qt6 (QML + threading) โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   70%
Workflow automation (n8n)      โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘   80%
Observability & tracing        โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘   40%

Angka di atas versi jujur, bukan versi CV.


$ git log --stat

stats langs
activity
trophy

$ ./snake.sh

snake animation

$ uptime --offline

harris@homelab:~$ uptime --offline

  โšซโšช  Juventus FC ............... Fino alla fine
  ๐ŸŽฎ  Perfect World PS .......... masih diotak-atik sampai sekarang
  ๐Ÿ”  n8n workflow .............. otomasi yang menolak dikerjakan manual
  ๐Ÿงช  Homelab ................... virtualisasi, jaringan, self-hosted semua
  โ˜•  Jam produktif ............. lewat tengah malam WIB

$ man harris

Stack apa yang paling sering dipakai?

Laravel untuk hampir semua kebutuhan web dan API, Rocky Linux 9 untuk server, MariaDB untuk data, dan C++/Qt6 kalau urusannya sudah turun ke level native.

Kenapa selalu menolak query langsung ke database?

Karena database bukan API. Begitu ada dua aplikasi menulis ke tabel yang sama dengan asumsi berbeda, validasi dan audit trail langsung hilang โ€” dan biasanya baru ketahuan setelah data rusak. Semua lewat satu pintu: API.

Terbuka untuk kolaborasi?

Ya, terutama untuk proyek Laravel, tooling infrastruktur, atau apa pun yang melibatkan reverse engineering dan otomasi. Diskusi teknis selalu diterima.

Bahasa komunikasi?

Bahasa Indonesia dan Inggris, keduanya nyaman. Istilah teknis biasanya saya biarkan dalam bahasa Inggris supaya tidak ambigu.


$ contact --list

web github



Terbuka untuk diskusi soal Laravel, infrastruktur Linux, dan server engineering.


"Kalau bisa diotomasikan, kenapa dikerjakan manual dua kali?"

footer

Pinned Loading

  1. PW-Server-Installer PW-Server-Installer Public

    Perfect World Private Server Installation Script

    Shell 16 14

  2. Auto-Backup-Rotate-Webserver-and-MySQL Auto-Backup-Rotate-Webserver-and-MySQL Public

    A simple script to dump and rotate webserver and mysql backup and upload it to your google drive folder

    Shell 3 2

  3. Bash-Scrip-for-Installation-Webserver-and-MariaDB Bash-Scrip-for-Installation-Webserver-and-MariaDB Public

    This is a script for Installation Web Server and MariaDB for Centos 7.x

    Shell 1

  4. Convert-MD5-Hex-to-MD5-Plain Convert-MD5-Hex-to-MD5-Plain Public

    Convert PW user password from MD5 HexBin to Plain MD5

    PHP 1

  5. PerfectWorld-Auto-Backup PerfectWorld-Auto-Backup Public

    a simple script to dump and rotate Perfect World backups and send it to your google drive.

    Shell 5 7

  6. How to create an HTTPS certificate f... How to create an HTTPS certificate for localhost domains
    1
    # How to create an HTTPS certificate for localhost domains
    2
    
                  
    3
    This focuses on generating the certificates for loading local virtual hosts hosted on your computer, for development only.
    4
    
                  
    5