In our correspondence article in Nature, we argued how medicine and technology must reckon with historical racism or else we run the risk of the vaccine worsening the COVID-19 pandemic disparity. We provide our expanded arguments here.

By Renee C. Wurth and Herman Saksono

With death counts from COVID-19 mounting ever higher, all eyes are on the recently-approved vaccines to save us. But these vaccines may not help everyone equally. Vaccine hesitancy among Communities of Color — a result of histories of racism and marginalization — can widen health disparities during the COVID-19 pandemic.

At first glance, the vaccine appears…


This article summarizes a CHI 2020 paper authored by Herman Saksono, Carmen Castaneda-Sceppa, Jessica Hoffman, Magy Seif El-Nasr, Vivien Morris, and Andrea G. Parker. At the end of the article, we shared the video presentation.

Rewarding app users with opportunities for social interactions might be the key to make users stay with their fitness wearables. This finding from our study sheds some optimism amid the growing concern that people are abandoning their fitness wearables.

In 2019, we evaluated a smartphone app called Storywell with a goal to promote family fitness. One key design element in Storywell app is what we…


This article summarises a paper authored by Herman Saksono, Carmen Castaneda-Sceppa, Jessica Hoffman, Magy Seif El-Nasr, Vivien Morris, and Andrea G. Parker. This paper will be presented at CHI 2019, a conference of Human-Computer Interaction, on Tuesday 7th May 2019 at 16:00 in the session Sport and Fitness.

Fitness tracking wearables, such as Fitbit and the Apple Watch, have been touted as valuable platforms for helping people to exercise more. However, research shows that within 2 months people often stop using their trackers or even abandon them altogether. This waning user engagement suggests that current fitness trackers may not have…


Problema: Anda menciptakan bahan kimia yang dapat membuat telur tidak gampang pecah. Untuk membuktikan kekuatan telur itu, Anda membuat percobaan di sebuah gedung 100 lantai. Anda ingin mencari tahu lantai berapakah yang aman untuk menjatuhkan telur. Akan tetapi, Anda cuma punya dua buah telur (sebut saja telur #1 dan telur #2). Bagaimana caranya meminimalisir jumlah percobaan supaya tidak kebanyakan naik-turun gedung?

Di bagian sebelumnya, saya membahas rekursi struktural dan rekursi generatif untuk permasalahan-permasalahan yang relatif sederhana. Di bagian ketiga, saya akan memakai rekursi dynamic programming dan memoization untuk menyelesaikan permasalahan yang lebih rumit.

Kembali ke permasalahan awal. Anda bisa mencoba…


Di bagian pertama, saya membahas ciri-ciri Structural Recursion, atau rekursi struktural. Di bagian ini, saya akan membahas Generative Recursion.

Ada dua perbedaan dalam dua jenis rekursi ini. Pertama, walaupun rekursi struktural memecah sebuah struktur menjadi lebih kecil, namun bentuk struktur tidak banyak berubah. Kebalikannya, rekursi generatif akan membuat struktur yang baru selama proses rekursi.

Kedua, jika rekursi struktural akan mengikuti pola di bawah ini, rekursi generatif tidak punya pola yang pasti. Di akhir artikel ini, saya akan membahas tahapan-tahapan dalam rekursi generatif. Ini berguna untuk membantu merancang rekursi untuk menyelesaikan permasalahan yang lebih rumit.

Bagan 1. Pola rekursi struktural. Rekrusi…


Java adalah bahasa yang statically-typed. Artinya, semua variabel mempunyai tipe yang fixed. Misalnya, variabel x yang dideklarasikan sebagai integer, akan selamanya menjadi integer walaupun nilainya berubah-ubah. Pyton, PHP, dan JavaScript adalah bahasa yang dynamically-typed. Ini berarti isi variabel x bisa diganti-ganti dengan angka, String, obyek, list, dll. Dalam artikel ini, saya akan membahas keunggulan static typing dibanding dynamic typing.

Dalam program skala kecil, ketiadaan static typing tidak masalah, tapi ketika project semakin besar dan modul-modul semakin beragam, ketidakjelasan tipe data dapat mempersulit pengembangan software.

Sebagai contoh, umpama ada fungsi f(x, y). …


Gambar 1. Boneka Matryoska Rusia

Rekursi (recursion) adalah salah satu konsep dasar dalam pemrograman, namun kurang intuitif bagi masyarakat umum. Mungkin penyebabnya karena rekursi tidak ada ekivalensinya di dunia nyata, di mana sebuah mesin (fungsi) menjalankan mesin itu sendiri.

Untuk menjelaskan rekursi, akan lebih mudah jika kita pilah menjadi dua jenis rekursi: rekursi struktural dan rekursi generatif. Di artikel ini, kita akan membahas bagian-bagian yang membentuk rekursi untuk membantu merancang rekursi di program kita.

Rekursi Struktural

Rekrusi struktural adalah rekursi yang memecah sebuah struktur menjadi lebih kecil. Struktur tersebut biasanya berupa array atau list. Pola sebuah rekursi struktural biasanya seperti di bawah ini (Bagan 1):

Bagan 1…


Self-Tracking Reflections

Kirsi Halttu and Harri Oinas-Kukkonen. 2017. Persuading to Reflect: Role of Reflection and Insight in Persuasive Systems Design for Physical Health. Human-Computer Interaction 32, 5–6.

Guided by prior work, the papers identified four constructs that can influence physical activity self-tracking:

  • Unobtrusiveness: how well a system fits into the environment in which it is used.
  • Credibility: how well a system gave the user’s the feelings of trustworthyness, believability, and reliability.
  • Dialogue support: how well a system facilitates the interaction between the user and the system.
  • Social influence: how well people within a user’s social circle evaluate the
    a system.

Then, using…

Herman Saksono, PhD

I’m a postdoctoral fellow at Harvard University. My research focuses on digital health equity. Website: hermansaksono.com

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