Sign in

Rahmat Ramadhan Irianto
I’m a Python & Js Enthusiast. This is about my dev journal

After I created an Article about Install Ghost 4.0 on Amazon Lightsail Using Bitnami With S3 Integration and Mailgun

I received an email from a new client about helping him migrate his Community News Website using WordPress to Ghost CMS.

One of the reasons why he wanted to migrate to Ghost CMS because the member subscription feature on Ghost CMS is powerful.

He had thousands of data and a hundred thousand visitors per day. And Migrating WordPress to Ghost CMS could be painful because of it.

The migration article on Google about migrating from WordPress to ghost cms might be…

I’m so excited that Ghost 4.0 is finally launched! I have been using Ghost CMS from version 2.x-3x installed on AWS EC2 and image hosted on S3.

Ghost CMS has become my favourite CMS for my own news platform, and I’m thrilled with it! I also got some requests from past clients to set up Ghost CMS on their own server.

I had also heard about the Amazon Lightsail years ago, and I was impressed by that too. Because it's more simple than having EC2, and it cost less! …

Speed is very important for a website. It’s so important that Google has made it an actual ranking factor. That’s why performance plays a major role and there’s a term called “Performance Budget.”

Long story short: One of my clients hired a front-end developer, and he made the front-end code using TailwindCSS and took 20MB for resources. It was an insane library, but I admire TailwindCSS being one of the powerful CSS libraries out there.

There’s webpack, rollup, parcel, and many libs to optimize JS, CSS, or any assets in modern JS. I used all of them too.

But this…

My friend who is a sysadmin just came to me and ask for help with his issues when deploy the server. He is getting stuck about this kind of error for almost 3 days. The system running Django with Docker and hosted on AWS EC2.

At first, we spot the error when we try to send emails using Django send_mail, I checked the code and settings and everything was fine. Since I have using this send_mail lib for almost all of my projects.

We also try to change the EMAIL_HOST and other email config but no luck.

for res in…

In the modern time now, There are so many websites are written in ReactJS, Vuejs, Angular, and much more. This makes it possible to have randomized class names and ID’s in the HTML markup.

This is one of the strategies to prevent websites to be scraped. So if you define the CSS class names statically on your scrapper they will only work for a short period of time because this kind of website changes its own CSS class names frequently.

We can take a look at
This is one of the websites that has implemented this prevention strategy. randomizes…

Translation Manager is based on Django’s translation i18n basics and extends its capabilities.

Why I’m using this instead of the default Django translation?

  • I can fully control the translation from a Django admin.
  • It creates backups of translations automatically and we can manage the backup
  • It allows you to use advanced filters or create categories.
  • It has the option to ignore fuzzy translations (translation suggestions).
  • It allows you to do Proxy translation

Let’s do the integration

1. Install Django Translation Manager

pip install django-translation-manager

2. Enable and settings Django Translation Manager

If you are using Django cookiecutters or recommendation settings from Django Two Scoops where they separated the settings to,, and then you can use this way.

If you are using default…

Sudah tentu untuk menjadi kewajiban semua orang di suatu negara untuk membayar Pajak. Termasuk jika ingin memiliki aset seperti saham, tanah, atau jika ingin membuat perusahaan di Indonesia (CV/PT) tentunya wajib menggunakan NPWP, apalagi jika istri ingin punya NPWP maka suami harus punya NPWP dulu, baru istri bisa daftar NPWP.

Daftar NPWP sebenarnya tidak sulit-sulit amat, cuman memang banyak sekali istilah-istilah yang baru di kepala kita. Istilah-istilah tersebut sebenarnya bisa kita cari di google.

Disini saya coba untuk berbagi pengalaman saya daftar NPWP dengan status saya sebagai freelancer programmer / pekerja lepas.

Proses saya mendaftar bisa dikatakan cepat. memakan waktu…


This kind of error happened When I tried to run Django migrate. Where djstripe dependencies have not yet migrated while User-based need djstripe model objects which are Customer and Subscription.


I’m using abstract models to solve this problem because at first migration they will apply user.0001_initial where it only contains id then Django will apply other models include djstripe and then at the end the BaseCustomer (user.0002) will be applied. So there will be no CircularDependencyError issue.

This is the first time I bought an external keyboard and mouse for my MacBook pro-2017. Because the butterfly keyboard is getting worse, sometimes the keycaps pop out when I typed something.

You know that when you are using an external keyboard, you definitely need an external mouse.

I bought Noir N1 and Rexus Daxa AIR PRO Wireless because I love their design and suitable for my needs.

When I connected to the laptop, there are things that I need to fix and settings so it can be working as I expected.

  1. Problem with wifi connection when plug in USB…


Django PostgreSQL Is the server running on host “localhost” ( and accepting TCP/IP connections on port 5432?

After installing some tools from homebrew, I was just surprised that my PostgreSQL has been updated. And when I start the PostgreSQL and run python runserver it gives me output: django.db.utils.OperationalError: FATAL: role “databaseA” does not exist

I tried to make sure that the PostgreSQL has the previous data

$ /usr/local/Cellar/postgresql/13.1/bin/pg_ctl -D /usr/local/var/postgres start

and it gave me output: The data directory was initialized by PostgreSQL version 12, which is not compatible with this version 13.1. pg_ctl: could not start server

Rahmat Ramadhan Irianto

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store