Deploying Rust code on production
Yep, I said it. I finally published my Rust code on production and it runs smoothly. This post will be a quick one describing my experience on deploying a backend application written in Rust. Why Rust? Some people would give out reasons like "performance", or "benefits of the type system". But, that's not the case for me. It's okay if the application that I'm handling is not performant, and I don't really care about the type system. The problem lays on there's little to no users for the applic...
Read post
Incident lesson learned: Do not depends on system dependencies!
Last month, my company had an incident that causes a certain part of our system to goes down. We're running everything on-premise since it's regulated by the law of financial institution of Indonesia, so we can't really go with cloud. It was caused by a sudden Virtual Machine failure that causes the VM to be corrupted. There were no backups or snapshot for that VM. The incident itself last for the entire week, and we're struggling to get it working again. The case of tightly-coupled systems Th...
Read post
My Initial Thoughts on Hono
For those who don't know, Hono (their site is at hono.dev) is yet another server-side framework for building HTTP servers in Javascript. It's comparable to Express, Fastify, and so on forth. It's minimalistic, yet it runs on most platform and runtimes, like Node, Deno, Cloudflare Workers, and even Bun. It's also advertised as ultrafast, in which I don't really care. But that is what Hono is selling to the world. At first I thought there's no way you can beat Fastify on speed benchmark, yet I fo...
Read post
With self-documenting code, do you still need documentation?
TLDR: The answer is yes. But let me elaborate further for you. What self-documenting code is for? The first argument on why self-documenting code is important, simply because some developers uses obscure names for their function, variables, and even files. Most of them hides with the reasoning of the infamous "2 hard things in computer science", in which are (1) cache invalidation, (2) naming things. But if you think very carefully, naming things isn't that hard. Just write stuff that are clo...
Read post
How I moved my stuff from Contabo to Greencloud
This will be a very quick blog post describing how I migrated by Debian server instance from Contabo to Greencloud. I won't elaborate more about why I moved other than it's faaaaaaaaaaaaaaaar cheaper on Greencloud ($45 per year) rather than on Contabo ($11 per month, meaning $132 per year). I loved both performance, as I don't really utilize my personal server that much. The only issue was my financial capabilities. The way I migrated my stuff is just to rsync my home directory (around 600MB) t...
Read post
Do we need to sacrifice privacy for metrics?
A while ago I was tasked with handling my company's outgoing email, it's to help them track how many customers did open the email. This means I need to implement email spy pixel tracking, in which it kind of invade the user's email privacy. ProtonMail, one of the top privacy-centric service for emails, disables any spy pixel that's exist on the email. That is good enough if you think about it, but not for me. Most of my customers don't use Proton, they use Gmail and Yahoo Mail a lot (by a very w...
Read post
System Design for Junior Software Engineers
I'm currently starting a process of rewriting an old software on my company that handles customer registration (yes, registration is its' own big chunk of work for a finance company). The reason of it is very simple, no one in the office are bold enough to maintain the app, and it's written in PHP 7.3 using old Code Igniter 3 framework, with MySQL 5.7 database that's gotten too much hack and modifications to make everything works together. The plan is to overhaul everything to make the operation...
Read post
Lesson learned from running a community tech conference
Yes, I basically led a team of 5 people to run what came to be TeknumConf 2023. An independent, no-sponsor, paid, self-sufficient community-based meetup consisting of keynote talks, career advice talkshow, and bunch of networking sessions that allows people to talk to each other and gain new connection. And yes, we created our own website, our own ticketing system, in which I will talk about it later. Why did we go independent? The way the community grows, whilst being a public tech-oriente...
Read post
The Importance of Software Dogfooding
The term dogfooding, also known as to eat your own dogfood is basically to consume your own product. Use your own product as if you're one of the users, or in short: be your own user. The majority of people, not just in Indonesia, but mostly around the world don't want to use their own products, with various reasons. One reason that I've encountered the most is "I've seen enough of this at work, why would I want to see that thing (referring to the product) again outside work?". I think, as a de...
Read post
My Current Workflow (June 2023)
If you go to Google, and search for best productivity app, you will get like tons and tons of recommendation. With one from PCMag, another from TechRadar, another from Tom's Guide, another from Zapier, another from NBC News, another from LifeWire, and you stumble upon another search result from TechRadar.. It's a lot, you know, and it really takes a toll for me. Then there's this so-called productivity app specialized for note taking, another one specialized for tasks management, another one s...
Read post
Why did I made this?
Simply I need a private place to write about the things that'd been occupying my head for some time. Getting restless of the thoughts, over and over again. I've been thinking of starting a personal dev blog somewhere that I don't need to run on my server, and I just can offload it somewhere so other people can still read it after I'm gone. Some of people I know said that I'm good at explaining things they can understand easily, but reluctant enough to teach massive amount of people. I always lo...
Read post