Reinhart Previano K.

Do you love to Ctrl-K, Ctrl-/, or / ? Now you can do three of them (>_ )!

No results so far...

Blog Posts

2022-04-09 14:47:41


Catatan: Informasi yang disampaikan berikut ini hanya untuk kepentingan profetik, dan bukan merupakan keputusan resmi dari sinode Gereja Mawar Sharon (GMS). 1-100: Indonesia, Timor Leste GMS BangkalanGMS SumenepGMS SerangGMS NusantaraGMS BangkaGMS BelitungGMS TasikmalayaGMS CilacapGMS GorontaloGMS BimaKarawangPurwakartaGMS MojokertoGMS BintaroGMS MartapuraGMS CikupaGMS ParepareGMS BulelengGMS DiliGMS KosambiGMS SentulGMS Banda AcehGMS PadangGMS SingkawangGMS TernateGMS SofifiGMS ManokwariGMS Mimika / TimikaGMS WamenaGMS MeraukeGMS PurwokertoGMS PurbalinggaGMS BlitarGMS Deli SerdangGMS UngaranGMS KetapangGMS EndeGMS BengkuluGMS Tanjung SelorGMS SumbawaGMS Tanjung PinangGMS BanggaiGMS EntikongGMS IndramayuGMS TegalGMS PekalonganGMS LamonganGMS KendalGMS BloraGMS JeparaGMS Probolinggo GMS Banda AcehGMS BanggaiGMS BangkaGMS Bangkalan (Madura)GMS BelitungGMS BengkuluGMS BimaGMS BintaroGMS BlitarGMS BloraGMS BulelengGMS Cikupa (Citra Raya / Suvarna Sutera)GMS CilacapGMS Deli SerdangGMS Ende (NTT)GMS EntikongGMS GorontaloGMS IndramayuGMS JeparaGMS KarawangGMS KendalGMS Ketapang (Kalimantan Barat)GMS Kosambi (PIK 2)GMS LamonganGMS ManokwariGMS MartapuraGMS MentawaiGMS MeraukeGMS Mimika / TimikaGMS MojokertoGMS Nusantara (Ibu Kota Negara / IKN)GMS PadangGMS ParepareGMS PekalonganGMS ProbolinggoGMS PurbalinggaGMS PurwakartaGMS Sentul (Sentul City)GMS SerangGMS SingkawangGMS Sofifi (Kep. Ternate)GMS Sumbawa (NTB)GMS Sumenep (Madura)GMS Tanjung PinangGMS Tanjung SelorGMS TasikmalayaGMS TegalGMS TernateGMS UngaranGMS Wamena 51-55: Singapura ROSC PunggolGMS WoodlandsROSC JurongROSC Bras BasahROSC Tampines ROSC Bras Basah (Little India)ROSC JurongROSC PunggolROSC TampinesROSC Woodlands 56-65: Malaysia GMS Bukit BintangGMS Petaling JayaGMS Shah AlamGMS Johor BahruGMS PutrajayaGMS PenangGMS BentongGMS KuchingGMS Kota KinabaluGMS GombakGMS Seremban GMS BentongGMS Bukit Bintang (Kuala Lumpur)GMS GombakGMS Johor BahruGMS Kota KinabaluGMS KuchingGMS PenangGMS Petaling JayaGMS PutrajayaGMS Selangor 66-100: International GMS AdelaideROSC Abu DhabiROSC Aucklandไม้ดอกหนึ่งที่ชาโรน BangkokROSC BerlinROSC BostonGMS Brisbane샤론의 장미여 BusanGMS CanberraROSC DavaoROSC DelhiROSC DubaiROSC EdinburghROSC Holland沙崙花教會 Hong Kong샤론의 장미여 IncheonROSC IrelandROSC IstanbulROSC TokyoROSC London沙崙花教會 MacaoROSC ManchesterROSC ManilaGMS MelbourneROSC OntarioROSC Orlando / Floridaไม้ดอกหนึ่งที่ชาโรน PattayaGMS PerthROSC Redmond / SeattleROSC San Francisco (California)ROSC Tokyo샤론의 장미여 Seoul沙崙花教會 TaipeiGMS Timor LesteROSC Washington, DC.

2022-04-05 16:17:54

Tidying up our email addresses

A bit of history Our email journey starts with a humble Yahoo! Mail email address originally meant for school assignments and transferring files. Note that the grand era of Firefox Send, Google Workspace, and Microsoft 365 wasn't there yet, so sending email attachments was the norm. Sure, that address was then used to sign up to hundreds of new websites, but soon we get a brand new Gmail address and even two Microsoft accounts (Hotmail and Untuk today. We have several unused email addresses originally meant for business purposes, and now another email address from BINUS University. And since we purchased two domains, and, we can literally use MX records to set a custom email address for each of our domains. And subdomains, too. Three leaders. Three main email addresses. So today, we decided introduce these three new email addresses which will serve as the main email addresses for everything, from automated messages to fanmails up to Reinhart's actual email address(es): But before that, we originally wanted to write our email addresses this way: (>_)$_) However, these characters are happen to be special characters in the world of internet and email. That means we are all special. But that also means that we can't use those names as email addresses, too! Anyways, we will be further setting up new email aliases and forwards, so you can still send me a message via and replied by someone from You can safely assume it's from me or my friends 😉 So yeah that's a quick update. Have a nice day!

2022-03-13 18:01:55

Our investigation on Pos Indonesia phishing and scamming attempt.

You are receiving this message as we have found you as the official contact address or representative of one of the following: Cloudflare (, as we found the suspected site uses Cloudflare's website protection service,NOBU National Bank (, as we found payment details linked to the bank,Pos Indonesia (, to notify on a recent phishing attack claiming on behalf of the company,Representative(s) of Ministry of Communication and Informatics, Republic of Indonesia ( who are taking part in SMS and internet regulations,Operators of the URL shortening service (, as the phishing actor uses their service to shorten the offending URL(s), andWebnic (, as the domain registrar of the suspected site. We have recently found a lucky draw phishing attempt which uses your service and/or intellectual properties which claims on behalf of Pos Indonesia, the Indonesian state-owned post office and delivery service. The suspected site is located on, which was registered through Webnic on March 12th, 2022, 01:48:36 UTC as found on the domain's WHOIS entry: Domain Name: Registry Domain ID: 2681013274_DOMAIN_COM-VRSN Registrar WHOIS Server: Registrar URL: Updated Date: 2022-03-12T01:50:04Z Creation Date: 2022-03-12T01:48:36Z Expiration Date: 2023-03-12T01:48:36Z Registrar: WEBCC Registrar IANA ID: 460 Registrar Abuse Contact Email: Registrar Abuse Contact Phone: +60.389966799 Domain Status: ok Registry Registrant ID: Not Available From Registry Registrant Name: Domain Admin Registrant Organization: Registrant Street: L4-E-2, Level 4, Enterprise 4, Technology Park Malaysia, Bukit Jalil Registrant City: Kuala Lumpur Registrant State/Province: Wilayah Persekutuan Registrant Postal Code: 57000 Registrant Country: Malaysia Registrant Phone: +60.389966788 Registrant Phone Ext: Registrant Fax: +603.89966788 Registrant Fax Ext: Registrant Email: Registry Admin ID: Not Available From Registry Admin Name: Domain Admin Admin Organization: Admin Street: L4-E-2, Level 4, Enterprise 4, Technology Park Malaysia, Bukit Jalil Admin City: Kuala Lumpur Admin State/Province: Wilayah Persekutuan Admin Postal Code: 57000 Admin Country: Malaysia Admin Phone: +60.389966788 Admin Phone Ext: Admin Fax: +603.89966788 Admin Fax Ext: Admin Email: Registry Tech ID: Not Available From Registry Tech Name: Domain Admin Tech Organization: Tech Street: L4-E-2, Level 4, Enterprise 4, Technology Park Malaysia, Bukit Jalil Tech City: Kuala Lumpur Tech State/Province: Wilayah Persekutuan Tech Postal Code: 57000 Tech Country: Malaysia Tech Phone: +60.389966788 Tech Phone Ext: Tech Fax: +603.89966788 Tech Fax Ext: Tech Email: Name Server: DOM.NS.CLOUDFLARE.COM Name Server: TERESA.NS.CLOUDFLARE.COM DNSSEC: unsigned URL of the ICANN WHOIS Data Problem Reporting System: >>> Last update of WHOIS database: 2022-03-12T01:50:04Z <<< The site uses Cloudflare and a WHOIS protection service to protect their website and related identities. Here, visiting directly will simply redirect the user to, the official website of Pos Indonesia. However, visiting the suspected URL with a special random ID will redirect the user into a special website, such as The original webpage consists the victim's name, mobile number, as well as home address. This is why we decided to redact these information (including the original, offending URL) when publishing this report to our official website at The phishing website is powered by Laravel, a PHP-based web development framework, which further suggests that the site is being hosted on a LAMP (Linux-Apache-MySQL/MariaDB-PHP)-based web server. However, we could not identify the web hosting provider of this website as the site is being protected by Cloudflare. In technical terms, performing a WHOIS entry lookup on each of IP addresses linked to the's DNS entry will simply return a list of Cloudflare-managed servers, instead of the original web server which runs the website. When pressing the "Claim" button shown on the above screenshot, the site performs a HTTP POST request to return a valid QR code for use in QRIS, the national QR-based payment system which is based on EMVCo's QR Code Specification for Payment Systems. Here, understanding the EMVCo's specification for merchant-presented payment QR codes is crucial to identify the threat actor. The above QR code contains the following payload: 00020101021226670016COM.NOBUBANK.WWW01189360050300000839560214531186424655810303UME51440014ID.CO.QRIS.WWW0215ID20221563643500303UME5204549953033605409251990.005802ID5903MRS6015JAKARTA SELATAN61051221062770114031300054398220525c6bf0ed4fb2cec5f40ed066cd061920220313165000231530703A016304EFF2 Which suggests that: The QR code declares itself as a dynamic payment QR code ("QRIS Dinamis"), which are more commonly used in payment gateways, EDC machines, and SaaS-based POS systems rather than a static QR code ("QRIS Statis") which is commonly printed as stickers in brochures and shops.The QR code was created on behalf of "MRS" instead of "Pos Indonesia", which is intentional to avoid rejection by Indonesian banks, digital wallets, and payment providers who are eligible to issue new QRIS payment QR codes.The National Merchant ID (NMID) of the suspected scammer's merchant is ID2022156364350.The merchant falls under the "Convenience and Specialty Stores" (5499) category, according to the QR's metadata. Similarly, we also have a valid static QRIS code (pictured below) which also falls under this exact category, despite declaring ourselves as a "Software house and SaaS provider" when requesting one from our QRIS issuer. Our official QRIS QR code. Original payload: 00020101021126680016ID.CO.TELKOM.WWW011893600898029003487302150001952900348730303UMI51440014ID.CO.QRIS.WWW0215ID10221477541080303UMI5204549953033605502015802ID5925REINHART PREVIANO KOENTJO6015KOTA JAKARTA PU61051026062220511100027433310703A1763040D45 The QR code was issued by neither any Indonesian state-owned banks (BNI, BRI, BTN, Bank Mandiri) nor Pospay, a digital wallet service owned by Pos Indonesia itself.Instead, the QR code was issued by NOBU National Bank, a privately-owned Indonesian bank, with the internal merchant PAN of 936005030000083956 and internal merchant ID of 53118642465581.Since the QR code was created dynamically (see Point 1) and issued by NOBU (see Point 6), we can highly assume that the scammer abuses NOBU's online payment gateway system to generate dynamic QRIS payment codes for phishing and scamming purposes. Note that we cannot further identify the scammer beyond this point. However, it is fairly easy for NOBU and legal authorities to further investigate and capture these scammers, as valid Indonesian IDs are still required to request new QRIS codes from authorized issuers, which can be found on Here, we decided to notify related parties in the following order to help legal authorities validate this issue before revoking access to both QRIS merchant account and the suspected website. NOBU National Bank and Pos URL shortening service and Ministry of Communication and Informatics of Republic of IndonesiaCloudflare and Webnic We value your cooperation in resolving this issue. In fact, we know that most of our contacted parties are still actively fighting online scams from Indonesia and all around the world. We understand that this type of scam is fairly new, hence stopping this scam website in the first place marks a great start in stopping future QRIS-based online scams. IMPORTANT NOTE: If you are voluntarily reading this from Indonesia, please do not give donations directly to our own QRIS payment code as shown on this blog post. Instead, you may support us through a number of ways, including sites such as Saweria and Trakteer which also supports payments from e-wallets and QRIS. Update 1: March 15, 2022 We forwarded the issue to NOBU National Bank via their official WhatsApp account. However, the bank rejected our report for not submitting transaction evidences with the scammer. The bank expects users to report scams after they're being scammed, or in their own terms, "experiencing financial losses". Meanwhile, the website was experiencing 500: Internal Server Error. The site is broken, I guess. But we decided to forward this issue to Cloudflare and Google Safe Browsing as well. Update 2: March 18, 2022 We're still curious enough to check whether the scam site is still working. Our Cloudflare and Google Safe Browsing reports didn't have any effects, though. However, what's changing here is that the "Claim" button redirects to a checkout page generated by Xendit, a Southeast Asia payment gateway, in case you're already familiar with Square and Stripe. This time, the merchant claimed to be "POSGIRO" instead of "MRS". The original invoice URL is What a real Pos Indonesia checkout page look like? Some people also asked us whether there are clear examples of Pos Indonesia's real checkout page. Fortunately, we have one answer, on, right when we receive an import tax bill to get our Hacktoberfest 2021 prizes mailed to our home address.* Here's another QRIS for you to analyze: The original payload here is: 00020101021226740022ID.CO.POSINDONESIA.WWW01189360816100000060050215ID20211150768080303PSO5204931153033605405675005802ID5917POS_INTERNASIONAL6007BANDUNG61054011562220703A010111500707128306304AB3B Which clearly states that this is a dynamic payment QR code ("QRIS Dinamis") issued right from Pos Indonesia! At least for their own postal and delivery services as well as Pospay merchants out there.

2022-02-26 11:00:00

Sebuah review teknikal tentang Leslar Metaverse.
Cover image for Sebuah review teknikal tentang Leslar Metaverse.

2022-02-25 00:34:17

I'm Nate, the blue command-line guy.
Cover image for I'm Nate, the blue command-line guy.

2022-02-23 11:29:37

grebek salah satu iklan vscode;
Cover image for grebek salah satu iklan vscode;

2022-02-20 13:37:22

The Recycled Developer™
Cover image for The Recycled Developer™

2022-02-17 12:13:49

Akhir sebuah jaman.

Semester 5 telah menjadi salah satu masa tersulit dalam perkuliahan saya. Dimulai dengan mental breakdown, lalu akhirnya bisa part-time rutin. Salah satu teman lama saya akhirnya masuk LINE TODAY, saya serah-terima jabatan manajer Web Development di HIMTI BINUS ke adik tingkat, sebelum gelisah masalah Enrichment Program saya, berurusan dengan kelompok-kelompok bermasalah dan akhirnya positif COVID-19. Semester 5 ini juga menjadi momen di mana saya berhasil membuat beberapa mahasiswa bertobat. Ya, bertobat dari mindset bahwa "saya cuman perlu untuk mengikuti materi-materi kelas saja", karena di dunia kerja kenyataannya tak begitu. Salah satu teman saya menceritakan pengalaman bahwa proses wawancara untuk magang (sebagai bagian dari Enrichment Program / 3+1 BINUS University) cukup menantang karena sang pewawancara menanyakan tentang keahliannya dalam Git, sesuatu yang sama sekali tidak diajarkan di dalam mata kuliah apapun di dalam program studi Teknik Informatika di BINUS. Ironisnya, saya telah mengadvokasi mahasiswa Teknik Informatika untuk "belajar di luar kelas", misalnya Git dan Python, bahkan sejak masa orientasi mahasiswa. Sekedar informasi, tugas-tugas part-time saya ini juga cukup campur aduk, dari bikin aplikasi Next.js ke server Python/Flask dan kini ke Dart/Flutter. Semua ini saya pelajari tanpa mengikuti materi-materi dari mata kuliah yang ada. Dan Semester 5 juga merupakan akhir penderitaan saya dari dua "penyakit" utama yang sering ada di dalam tugas kelompok: Anggota kelompok yang tidak aktif dan malah ghosting"Saya cuman ngikutin materi dari BINUS", karena itu saya cukup kecewa kelompok kita tidak bisa selangkah lebih depan daripada kelompok-kelompok lain. Penderitaan saya lebih berat daripada kamu, nak. Hari terakhir Ujian Akhir Semester, saya juga dikagetkan sama salah satu tweet menfess berikut ini: Gue anak 21, ga nyangka ternyata kuliah itu seburuk itu untuk mental health, semester 1 kemarin gue udah dihujanin materi sama tugas yang bener2 banyak, akibatnya waktu gue untuk healing sama self reward jadi kurang banget. Yang tadinya gw masih bisa nonton netflix sama chat2an sama bestie sekarang jadi susah banget.Gue kayaknya belum siap kuliah deh. Gue udh ngomong ke ortu kalau gue mau cuti dulu semester ini. Gw mau fokus healing selama 6 bulan ini. Tapi ortu gue malah ga setuju. Bahkan gue dibilang manja.Gue bingung mau gimana takutnya kalau paksain ipk ku malah tambah anjlok. Gue juga susah komunikasiin ini ke ortu karena mereka ga aware soal mentalh health kayak gue. Gue mesti gmn 😭 Saya sendiri yakin bahwa program studi atau jurusan yang dia pilih agak dipaksakan dan kurang sesuai hati. Ya, maklum, kenyataannya Teknik Informatika BINUS yang sering didamba-dambakan setiap orang Indo itulah jadi salah satu jurusan BINUS dengan banyak mahasiswa yang akhirnya merasa salah jurusan. Salah satu teman saya yang akhirnya pindah ke Ilmu Komunikasi pernah bahas masalah ini di YouTube: Kuliah di program studi yang sesuai minat dan bakat bakal terasa jauh berbeda dengan kuliah di program studi yang dipaksakan. Buktinya, saya baru bisa mental breakdown saat Semester 5 sedangkan dia baru saat awal semester. Saya bisa bayangkan betapa stresnya kalau saya dipaksakan orang tua untuk masuk ke sarjana ekonomi, hukum, akuntansi, biologi, dan sebagainya. Oh iya, jangan anggap bahwa kuliah itu "tempat untuk belajar" layaknya SMP atau SMA. Untuk bisa menaklukkan kuliah kamu harus belajar, belajar lebih banyak daripada yang diajarkan di kelas. Saya juga yakin kalau sender ini terlalu nyaman untuk lebih fokus pacaran daripada mengejar pendidikan formal. Ya, begitulah... Semester 6 sampai 8 mau ngapain? Pertama-tama, saya ingin uninstall LINE. LINE telah memberikan dampak buruk bagi jumlah unread notifications di iPhone saya: Saya pinjam akun salah satu robot saya biat posting ini karena jumlah unread message nya cukup menarik. 1.337, alias "leet". Saya sebenarnya juga ingin meninggalkan Discord, WhatsApp, dan Telegram, dan ingin lebih fokus untuk balas pesan via Signal, Marco Polo, dan mungkin bikin aplikasi chatting dan media sosial sendiri. Lalu, bagi yang belum pernah paham tentang Enrichment Program di BINUS, saya bisa bilang itu sebagai salah satu cikal bakalnya program Kampus Merdeka, di mana 2 semester dipakai untuk mengambil pengalaman via magang, riset, KKN, dan sebagainya. Yang berbeda di sini adalah distribusi SKSnya. Kebetulan, saya memutuskan untuk memilih jalur riset atas berbagai pertimbangan. Karena semester 6 dan 7 isinya Enrichment Program, dan semester 8 bakal penuh dengan skripsi, ketiga semester ini adalah momen di mana setiap mahasiswa BINUS harus bisa mandiri. Tidak ada kelas seperti biasa, tapi tetap ada tugas dari dosen pembimbing. Semester-semester inilah yang menjadi momen pembuktian, apakah yang "cuman ngikutin materi dari BINUS" akan berhasil? Berbicara tentang skripsi, dan rencana saya untuk mengambil skripsi langsung di Semester 7, saya sudah menentukan beberapa kandidat topik yang kemungkinan besar akan dikerjakan. Sekarang, saya perlu untuk menyusun waktu dan menentukan apakah skripsi semester 7 adalah hal yang tepat atau bukan. Akhir kata, kini saya memasuki era yang baru. Terima kasih juga kepada segenap robot saya yang sudah membantu dan memberi semangat saya untuk melewati berbagai perjuangan ini. Sekian blog saya hari ini. Terima kasih.

2022-01-31 20:49:32

Celebrating #InterfaceInPolymorphism through our new CSS system font stack.

Note: We have recently updated our system font stack in August 2022 to better support future Android and more Linux desktop environments. As what a co-founder of Signal said, aesthetics are important in computer software. We take that word seriously when deciding whether to use custom fonts or not on our website. Traditionally, our websites used a lot of custom fonts. No, really. I still remembered the days building our Instagram knock-off using 5 distinct web fonts: Pacifico, Montserrat, Source Sans Pro, Fira Sans, and Aileron. Before redesigning this website to use the all-new Twenty Twenty-Two theme, we heavily used JetBrains Mono for everything. Because 2021 was the year when we encourage people to not just code, but also speak in code. This year, however, should be the celebration of the diversity of computer software and systems all around the world. You know, #InterfaceInPolymorphism, our famous slogan which lets many search engines to give a premium red carpet path for you to walk into this specific site. I hope that every Object will follow suit but, even the private search engine StartPage knows our website just through this specific hashtag. One day, I'll be famous in Russia. Oh no, am I (not) dreaming? (Note: this site uses IndexNow so yeah...) Okay then, one day I'll be famous in South Korea. Putting my face on that SMTOWN @ COEX outdoor display is even a better idea. Of course, one of the best ways to capture the diversity of computer systems is by using the (in)famous system font stack: font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; This combination has been used in many sites. Including GitHub, which notably removes Roboto from the list due to rendering issues on some Linux operating systems. Note that Android users visiting the GitHub website today will still see Roboto font being used as they don't have Helvetica or Arial installed. And again, we ended up rearranging and use this specific stack instead: font-family: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Cantarell, "Open Sans", "Noto Sans", Ubuntu, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" What this font-family mess is all about. font-family is a CSS property which lets you declare which fonts to use on specific parts of the website. And yes, font-family is also one of the oldest properties ever introduced in the history of CSS! font-family is even supported in Internet Explorer 3, released in 1996 Here, both -apple-system and BlinkMacSystemFont are used solely to load San Fransisco (or SF Pro), the system font for Apple products today including iOS, iPadOS, and macOS. "Segoe UI" refers to Segoe UI, the system font for Microsoft Windows since the age of Windows Vista. And finally, Roboto, which refers to Roboto, the default sans-serif font for Android and Chrome OS. Wait, why not just use 3 fonts then Arial, Helvetica, sans-serif? Even though these 3 fonts (San Fransisco, Segoe UI, Roboto) seem to cover most of modern operating systems today by market share (Android, Chrome OS, iOS, iPadOS, macOS, Windows), we haven't yet talked about another great family of operating systems: Linux. Despite having its low desktop market share (thanks to enterprises sticking to Windows as well as those Apple fanboys), Linux is still considered one of the most popular operating systems to date, powering everything from embedded devices up to 500 out of 500 top supercomputers in the world! It wouldn't be fair if the voice of Linux distributions are unheard on this website. Because remember, "Interface in Polymorphism" doesn't just belong for mainstream and popular computer systems such as Windows or Microsoft Office. We believe that by supporting a diverse community of computer systems, we will benefit a more diverse community of computer users today, which are well, human beings. Hence "Interface in Polymorphism" should belong to everyone, just like the diversity of people today. Interface for the minority of desktop operating systems. Now here's the question, what is the system font for Linux (and perhaps others like Haiku or BSD)? The answers is many, depending on distros and desktop environments. To simplify this answer, let's look at the original, recommended set of system font stack: font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; Here, Oxygen was chosen to cater Linux distros running the KDE Plasma 5 desktop environment. However, in 2016 the KDE community decided to replace it with Google's Noto Sans, presumably to better support non-Latin alphabet letters, just like this case for Cyrillic. Then we have Cantarell, the system font for the GNOME desktop environment. And here, I can see why Cantarell is placed after Ubuntu (more on that later), as earlier versions of Cantarell are very, very, ugly. Yes, this ugly version of Cantarell is still available through Google Fonts. Since then the same font has been improvised to look even better, and now also available in different weights (e.g. Light or Extra Bold). The official website of Purism shows how good is Cantarell today. Yep, they used Cantarell for everything. Finally, as what the name states, "Ubuntu" refers to the Ubuntu font primarily used in Ubuntu, one of the most popular Linux distro. Despite being a Linux fan, I'm not actually a fan of the font itself and prefer to replace it with Cantarell on my Linux installations. One designer talked about how Ubuntu performs the best amongst legacy macOS system fonts (Lucida Sans and Helvetica Neue) when it comes to legibility and (un)ambiguity: No need to argue, Helvetica is not the most legible. However it’s remarkable how well Ubuntu performs in the above screenshot. Especially an interface typeface has to provide enough distinction between its various glyphs. Think about passwords, user names, data tables, drop down lists… Your interface must display them in an unambiguous way. You don’t want your users to pause for even a fraction of a second to decipher glyphs and shapes."The Best UI Typeface Goes Unnoticed" by Thomas Byttebier, 2015. Sure, "Interface in Polymorphism" should account the diversity of desktop OSes, but the same phrase should also account the diversity of desktop environments, including GNOME, KDE, Budgie, Pantheon, MATE, LxQt, Cinnamon, and so on. However, looking at Stack Exchange / StackOverflow's and Firefox's perspective for the system font stack, I'm personally afraid that developers will generalize Ubuntu as the default system font for any Linux distribution - which we shouldn't. The "perfect" set of system fonts. Again, let me show you again our great system font stack: font-family: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Cantarell, "Open Sans", "Noto Sans", Ubuntu, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" Here, you've seen why I included -apple-system, BlinkMacSystemFont, Segoe UI, and Roboto. But what about the others? But first, where's ui-sans-serif and system-ui? Well, they're not in the list due to some concerns when it comes to web browser's decisions to choose the right system font in Linux. But more on that later For Windows. font-family: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Cantarell, "Open Sans", "Noto Sans", Ubuntu, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" One of the new additions to this font stack is Segoe UI Variable, the new system font for Windows 11. The new font really matters to me as I'm also a hater of the original font while liking this new one. Here's why: If you look closely at the above image, the new Segoe UI Variable font characters matches the style of Inter, aka. the "open-source, cheap free clone of Apple's San Fransisco". Yeah, developers today really love and using it everywhere; you can see Inter being used everywhere today from GitHub to Mozilla and everywhere. For Android, iOS, iPadOS, and macOS. font-family: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Cantarell, "Open Sans", "Noto Sans", Ubuntu, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" Nothing's different here, as Android users will get Roboto and Apple users will get what they want. However, we dropped Helvetica Neue and Lucida Grande from the stack since we feel most of the Apple devices today run the latest operating systems. As a reference, San Fransisco is available on iOS 9 and later as well as macOS / OS X El Capitan (10.11). Note: If we included both of them on the stack, well we must put Tahoma, too! However, there are two specific reasons why Roboto is included almost at the end of the stack, sitting next to Helvetica and Arial. First is because we'd like to favor Linux distributions' preferred system fonts other than Roboto (e.g. Open Sans or Cantarell), and we decided to load Roboto from Google Fonts instead to provide compatibility with on pre-Android Lollipop (5.0) devices. For Linux (and other Unix-like) distributions. font-family: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Cantarell, "Open Sans", "Noto Sans", Ubuntu, Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" Source: Last year, the forum posted an annual poll on the "Desktop Environment of the Year". And here, we're seeing KDE being the winner just right before XFCE. As I mentioned before, KDE now uses Noto Sans by default so potting it into a stack is a must. Then, the voters also greatly voted GNOME which uses Cantarell by default (except for Ubuntu Desktop users which uses the Ubuntu font instead). By including Cantarell before Ubuntu, GNOME users outside the Ubuntu Desktop can comfortably visit our website with the matching system font as theirs. We believe this will benefit those Fedora, Trisquel, or even Purism fans out there! And lastly, we also included Inter and Open Sans to the stack, as they are often set by some distros as their system font: elementary OS: Inter, previously Open SansKDE Neon: Noto Sans (follows KDE Plasma defaults)Purism PureOS: Cantarell (follows GNOME defaults)Linux Lite: Noto Sans, despite some are using RobotoLinux Mint: Noto SansRaspberry Pi OS / Raspbian: Roboto Piboto, see Update 1Ubuntu: UbuntuZorin OS: Inter Oh wait, these selection of system fonts are ready to support other Linux based operating systems, too! KaiOS: Noto SansKDE Plasma Mobile: Noto Sans (follows KDE Plasma defaults)PureOS Mobile / Phosh: Cantarell (follows GNOME defaults) That's it. Have fun! Yeah, that's the end of this post. As you can see, this is just a beginning of something I tried to achieved: cyber multiculturalism. If you are Indonesian and understood what multiculturalism is, I'm currently bringing that to the realm of today's computer systems. Enjoy reading our apps and articles in the most native possible way! Update 1: August 6, 2022 We decided to introduce three new fonts to our system font stack. First is of course, Roboto Flex. We included them just before Roboto to let future Android devices have a piece of mind while still honoring Linux users' of choice. Next is Piboto, the Raspberry Pi's actual system font because the designer behind the Raspberry Pi desktop disliked the aesthetics of the newer Roboto font. Including Piboto, yeah, just right before Ubuntu, Roboto Flex, and Roboto, liberates Raspberry Pi devices to use their proudful system font without having to re-download Roboto as a webfont which may affect their web browsing performance. What a win-win solution for both of us! Note: While Piboto itself is aesthetically similar to Roboto as on pre-Lollipop Android devices, the version of Piboto included on Raspberry Pi desktop ranges to Light to Black by default, compared to just Regular and Bold versions on those old Android devices. And finally, GNU FreeSans. Preinstalled on 99.99% Linux desktop distributions, that we consider it as our last line of defense to let Linux desktops who retaliate from using Roboto webfonts to finally choose a better font than Bitstream Vera Sans or DejaVu Sans, which both kinda look like Verdana but their bold version is so wide that they may break our user interface as compared to all the other fonts. GNU FreeSans will be placed after Helvetica and before Arial and the generic "sans-serif" due to the font's similar aesthetics with Helvetica. So finally, our system font stack has just grown into: font-family: "Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, Inter, "Segoe UI", Cantarell, "Open Sans", "Noto Sans", Piboto, Ubuntu, "Roboto Flex", Roboto, Helvetica, FreeSans, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"

Reinhart Previano Koentjoro
Reinhart Previano Koentjoro
Citra Manggala Dirgantara
Citra Manggala Dirgantara

A Reinhart company