Author: chez14

  • CI/CD For Everyone: Deploy PHP Projects to Any Hosting Platform

    CI/CD For Everyone: Deploy PHP Projects to Any  Hosting Platform

    CI/CD has been a lifesaver for organization with many projects, big or small. In my case, I have a Laravel project that needs its JavaScript to be built before deployment. There are a lot of options to do this, but this time, I think I found a perfect combination to deploy them with minimum clutter…

  • Password Expiration is an Expired Standard

    Password Expiration is an Expired Standard

    Since this one is lately being talked within my circle and I’ve been super irritated with the password expiration notification email, I’d like to rant about this policy for a bit. Let’s start with that is this policy is all about. Password Expiration Policy is a policy that enforce your user to change the password…

  • TIL: `REMOTE_USER` HTTP Header

    TIL: `REMOTE_USER` HTTP Header

    While proposing Firefly III to support OAuth login, my proposal got rejected because they already support REMOTE_USER from RFC3875. This is very interesting, because I never thought we can utilize authentication via proxy. I’m aware of Authentik’s Proxy Provider, but never thought that there’s standard for this. Especially when you provide the upstream with just…

  • Jenius’ Inconsistent Exchange Rate

    I’m writing this post just in case if someone asks why the currency exchange doesn’t match with their calculator. The bank that issue my card is Jenius. Jenius stated in their FAQ (Jenius Debit Card → Jenius Debit Card Usage) that they use Visa’s currency exchange rate, with 3% bank fee to “anticipate the fluctuating…

  • Lost in Translation on Software Engineering

    Lost in Translation on Software Engineering

    Few days ago I found an interesting tweet: the posted code runs faster on Java, rather than Go. Quite interesting, right? So I asked ChatGPT to convert the code to Rust and see if it perform any better: It doesn’t. The code took 4.7 min on release mode, and a whopping 9.93 min on debug…

  • Indonesian KTP NIK: A Shower Thought

    Indonesian KTP NIK: A Shower Thought

    Indonesia KTP NIK (stands for Nomor Induk Kependudukan ([National] ID number [for]) Kartu Tanda Penduduk (Citizen ID Card)) is a number that assigned to each of Indonesian Citizen. KTP NIK actually contains a few information such as the location where the KTP (National ID Card) is issued, the holder’s birth-assigned sex, and their birthday date.…

  • The Pool Analogy

    The Pool Analogy

    A few days back I explained about how someone may only hear the most outrageous news/problems from the other team, and I suddenly got a stupid analogy of a pool, and I thought maybe its fun to write a blog of it. You know your pool when its warm, when its cold, but you will…

  • PSA: Sunsetting My Student Email’s PGP Identity

    On December 11th, 2023, my student email (7316011@stu…) that is associated with key ID 7c5e71e1aad74d83, has been disabled as I graduated in 2021 (YAY!). This post formally announces that the identity will never be used again. If you have my public key on your keyring, you can update the key identity by pulling it from…

  • Dear Devs, Try to Learn How to Deploy Your Product to Production!

    Dear Devs, Try to Learn How to Deploy Your Product to Production!

    A few weeks ago, I assisted a team of developers that my friend had hired to work on a project—let’s call them Team Goldilocks (obviously not the real name of the team). Team Goldilocks had been struggling with deploying their software to production, encountering warnings, the app refusing to run, and experiencing problems with databases.…

  • Emailing HTML on NextJS

    Emailing HTML on NextJS

    Since NextJS handles both backend and frontend seamlessly, emailing things now become another quest to finish, especially when you need to use template. This blog will be filled with my rants and lessons about this quest of creating my contact page. You can also check my logs for this in issue chez14/christianto.net#13. Previously, in a…