The Proudest Moment of 2017

Seharusnya saya menulis cerita ini pada sebulan lebih yang lalu, tepatnya tanggal 18 November 2017, ketika salah satu peristiwa sangat penting terjadi. Menunda menceritakannya bukan disengaja, pun tidak bermaksud menganggap peristiwanya kurang bermakna. Hanya saja, perlu rasanya diceritakan secara lebih komprehensif, dimulai dari alasan terjadinya, untuk menghindari kesalahpahaman hahaha… And I just found the time to write about it during this year-end holiday.

Sekitar akhir September 2017, tiba-tiba datang sebuah pesan WhatsApp dari teman lama. Seorang teman seangkatan waktu berkuliah di Fisika ITB, yang sejak beberapa tahun lalu – tidak tahu persisnya – terpanggil untuk mengabdikan hidupnya sebagai dosen di Program Studi Fisika ITB. Bahkan seingat saya, setidaknya 6 teman seangkatan Fisika 99, memilih berkontribusi balik ke Fisika sebagai dosen, suatu pilihan yang sangat terpuji.

Kembali ke pesan WhatsApp tadi, isinya cukup mengejutkan. Bagaimana tidak, saya dinominasikan sebagai penerima penghargaan Alumni Berprestasi dari Program Studi Fisika ITB untuk FMIPA Award 2017, atas dasar kontribusi ke dunia Fisika melalui entrepreneurship. Wow! Ya, walaupun masih sekedar nominee, tapi setidaknya ada pihak yang me-recognize apa saja yang saya lakukan selama ini, yang mungkin saja bermanfaat, sehingga layak untuk dinominasikan. Itupun cukup berarti. Continue reading The Proudest Moment of 2017

RIoT for Nation

No, “RIoT” is not the “riot” literally. We are not planning to make a riot and disturb the peace in Indonesia, especially around the celebration of its 72nd Independence Day on last August 17. Long live Indonesia!

However, RIoT or Republic of IoT is indeed a “riot” to enliven the ecosystem of Internet of Things (IoT) in Indonesia. Often than not, this country needs a “riot” – literally or figuratively – to make things “heard”. IoT is still so young in Indonesia, it needs tremendous efforts to cultivate it, let alone exploit it. May RIoT be one of those efforts.

But why IoT? Is the buzzword so important for the country? IoT is just an old stuff wrapped in new package, after all. Well… at least the foundations are not really new. The truth is, IoT is the convergence of several technologies that previously seemed to evolve in their respective domains – embedded systems, sensors and actuators, firmware, apps, connectivity and networks, cloud computing, machine learning, even artificial intelligence – some or all now working together to enable smarter new services or applications, more beneficial to humans. Apparently, technology-based problem solving, cannot only leverage the software or apps, but sometime needs the help of “smart” hardware and also supported by the bunch of technologies above, hence IoT. Indonesia has many problems, yet tremendous potentials, and needs comprehensive technology-based solutions. IoT may be one of the enabler technologies.

Yep, IoT is just an enabler technology, not the solution itself. Hence, it takes our effort to look into the problems and brilliant ideas to “hack” into working solutions, which may be enabled with IoT. RIoT has an objective to facilitate the emergence of these ideas, and implement them into tangible products, at least to the prototype stage. Continue reading RIoT for Nation

Movreak for iOS v5

Movreak is one of the oldest iOS apps from Indonesia, that stays alive for 7 years since May 2010. Please mention one or two apps released in about the same year that still exists until now :)

It finally got a major update in version 5, which brings Movreak to its core – a movie showtime and review app – yet with abundance of new and supercharged stuffs. The last major update was 4 years ago, when I was still the only one who did everything from iOS frontend to everything in the backend – including the mighty movie and showtime crawlers. All was with the help from my wife on UI design, as I suck at it.

Version 5 brings the heavily redesigned UI, streamlined features, and hey… it’s built from the ground up. Yes, we literally threw away all of the old code, create new project in Xcode and select Swift as the programming language, and scavenge any algorithms as much as we can from the old code. Up until this version, Movreak was still written in Objective-C – that some of you may never see what it looks like – a C-wrapper, reference counted, OOP language, that’s very hard to get it right. Don’t get me wrong, Objective-C is powerful, and it’s safe and sound, still well-maintained by Apple. Continue reading Movreak for iOS v5

I finally Code in COBOL…Again

If you happen to be millenials, you may not know COBOL or COmmon Business Oriented Language. COBOL is primarily used in business, finance, and administrative systems, as a compiled English-like computer programming language, never for more bare metal purpose, not until now.

I’ve known COBOL since my childhood and used it extensively for learning and developing apps. After more than 30 years, I’m back to use it in order to program firmware for microcontroller! Yes, you read it right, COBOL is for programming microcontrollers.

Why on earth you want to use COBOL for microcontroller? Well, for starting, I’m getting bored of C and C++. I’ve been using C-like language since I coded professionally, more than 20 years! C, C++, Perl, Java, PHP, C#, and especially using Objective-C for the past 10 years. As it seems I’ll be programming for microcontroller for many years to come, it’s time to use another language, so I won’t be bored to death.

How?

As COBOL supported object-oriented since 2002, it became easier than ever to use it for any use cases.

For this particular use case, I managed to make GnuCOBOL – a free and open-source modern COBOL compiler and runtime environment – to work together with Xtensa’s toolchain to compile COBOL program and target it for ESP8266.

A “hello world” LED blinking code to make LED connected to GPIO 15 to blink, is something like this:

That’s easy!

I have yet to manage it compiled and run for AVR-based microcontroller. But I hope that will change soon.

Why?

I should start with why. For starter, verbosity and English-like syntax of COBOL always fascinate me. With the maker movement and its “promise” to democratize hardware programming, I believe COBOL will be much easier to learn – even for kids – than other language.

With the abundant of now-retired oldtimer COBOL programmers and the more accessible hardware (microcontrollers, single-board computer), I believe they will be back to “hot seat” of programming, spending hours and days in front of their laptop and hardware kit, and eventually fill old age with happiness.

Then imagine, kids learn COBOL accompanied by their parent or grandparent that happens to have COBOL experience in the past, spending time together hacking hardware, man… that’s priceless. And that’s what really drive me to evangelize hardware programming with COBOL.

I will be back with some more details, sample code, working development and runtime environment, and share all resources on my GitHub.

Really exciting!

Apa Gunanya OS di dalam IoT Device?

Perhatian saya “terperangkap” ke dalam sebuah obrolan di Facebook Group IoT Geek Surabaya, yang sedang membahas standards dan protocols seputar Internet of Things (IoT). Saya ikut nimbrung dengan sedikit berpendapat tentang messaging protocol seputar IoT dan sekaligus menyertakan referensi ke deck yang saya publish di sini, untuk memperlihatkan technological possibility around IoT:

 

Ternyata mas Muhammad Hadi Lo sebagai thread-starter dari obrolan di atas tampaknya membaca slide-slide lain di dalam deck itu, terutama tentang beberapa kemungkinan Operating System (OS) seputar IoT. Lalu dia menanyakan sebuah pertanyaan yang menurut saya cukup profound, saya kutip di sini: Continue reading Apa Gunanya OS di dalam IoT Device?

Wearables + Azure Development – Global Azure Bootcamp 2015

I know, I should’ve posted this long time ago. In fact, it’s almost 1 year since the event in which I talked about the stuff. I simply forgot. Well, better late than never.

The event was called Global Azure Bootcamp 2015, a worldwide community-driven event that merely talks about all stuffs related to Azure. The event was held in hundreds of countries in the world, including Bandung and the other 2 cities in Indonesia. All happened at the same time, April 25, 2015.

Beside as one of the organizers for Bandung chapter, I also delivered a talk in it. The talk was about Wearables app development and how the app can work with Azure services. In that talk, I particularly focus on Apple Watch app development that accessing Azure App Services (it’s Azure Mobile Services at that time).

I’ll be back for more in Global Azure Bootcamp 2016, along with the other Microsoft MVPs or other speakers. Stay tune!

Continue reading Wearables + Azure Development – Global Azure Bootcamp 2015

Journey to mbed Platform – Part 1

This post is more to my note than a tutorial or article, so that I can get back to it when trying to replicate the steps. But hopefully you’ll find it useful as well. Keep in mind, I’m using Mac as development machine. If you use Windows or Linux, some of steps may not be compatible.

So, got my first STM32 board, STM32F401 Nucleo development board. Although it has its own development framework, it seems the world has been taken its attention to ARM mbed platform. It seems the community is quite vibrant, a lot of libraries and sample code, and possibly I can code cross platform with another ARM-based board.

12303954_10153665887826855_8036219025334785268_o-2.jpg

To start, I create an account in mbed developer website. Then my attention goes to NUCLEO-F401RE page. Continue reading Journey to mbed Platform – Part 1

Bandung IoT Developer Day

Yay!… H-1 sebelum acara “Bandung IoT Developer Day”! Acara gratis ini akan berformat seminar dan dalam episode pertama ini (sebagai awal dari episode-episode selanjutnya) diusung tema “developing for IoT with web technologies”.

Acara ini sudah diideasi sejak 3 bulan yang lalu, dan mulai dipersiapkan sejak 1 bulan terakhir. Two thumbs-up buat organizer: DycodeEdu sebagai leading education provider yang berfokus pada modern/latest technologies, dan Iot4Bdg sebagai komunitas IoT pertama dan terbesar di Bandung. Organizer telah menyiapkan semuanya dengan cukup baik, dan berhasil “sold out” akhir minggu lalu dengan mengumpulkan 100 peserta dan lebih dari 50 diantaranya sudah ter-confirm akan hadir. Mewakili penyelenggara, saya berterima kasih kepada calon peserta yang sudah daftar. Terima kasih pula buat media partner dan teman-teman lainnya yang telah ikut men-share info tentang acara ini. Semoga besok semuanya lancar dan kita semua bisa mendapatkan manfaat dari acara ini.

Continue reading Bandung IoT Developer Day

Berkenalan Dengan Firebase Command Line Interface (CLI)

Arguably untuk banyak kasus, sebagai developer, biasanya kita bisa bekerja lebih cepat menggunakan keyboard. Itulah kenapa banyak Command Line Interface (CLI) tools disediakan oleh vendor/provider untuk bekerja dengan platform atau SDK mereka. Tanpa terkecuali, Firebase. Sejak Mei 2014, Firebase me-release CLI tools mereka, yang bisa diakses di sini.

Installation

Untuk menginstal Firebase CLI, pastinya kita perlu punya akun Firebase. Belum punya? Tinggal mampir ke sini.

Lalu, kita perlu install Node.js dan npm. Seharusnya dengan menginstall Node.js  npm akan ikut terinstall. Kalau sudah yakin npm terinstall, menginstall Firebase CLI semudah me-run command ini di Terminal/Command Prompt:

By that, command firebase akan terinstal secara global dan bisa diakses dari mana aja via Terminal/Command Prompt.

Continue reading Berkenalan Dengan Firebase Command Line Interface (CLI)

8 Years and Beyond

It’s DyCode’s 8th anniversary.

It’s amazing adventure so far, and I’m so grateful to be part of it. It’s amazing feeling to be able to help enterprises, startups, communities, and personals with the journey of DyCode, and also to make DyCode as the second home for more 50 DyCodes and ex-DyCoders so far.

When I co-founded DyCode with 5 other friends 8 years ago, we never thought that DyCode will be as it is today. At that time, we only thought that DyCode was our answer to software development industry in Indonesia that we’d put more focus on software quality and technologies underlying it, also early adopting technologies to optimise the software value, instead of just delivering mediocre software. We’ve been doing a lot of coding, hack things up, learn and explore new things.

Continue reading 8 Years and Beyond