/ notePermalink

I still stand by my stance that blaming Twitch and YouTube re: the recent "DMCA Bloodbath" is misguided, when this is literally the mindset of the RIAA.

But do note that I'm not letting Twitch away scot-free. They've long needed better tools to prevent stuff like this, and they've been caught sleeping when the Music Industry™ decided to take advantage of the pandemic to make a quick buck.

Moreover, an ex-Twitch engineer recently spilled the beans, pointing out that the system Twitch has to handle DMCA takedown requests hasn't seen much change since the days!

YouTube had to go through the exact same thing many years ago, and as a result has developed a far more robust system than that of Twitch.

Is it perfect? No. Is it transparent? Way more than Twitch, at the very least.

Twitch has been caught sleeping. It's time for them to step up their game, and scramble to put together a more robust system to help deal with DMCA takedowns and music copyrights.

It'll be a long, hard journey, but it's necessary, since many livelihoods are at stake.

/ notePermalink

In case you missed it, I've started streaming on Twitch!

Why I started streaming

I got the inspiration to do live coding streams when I started watching art streams around early 2019. And over the course of watching them, I slowly learned the process behind drawing artworks. From the intial sketch, to lineart, to colouring and finishing touches.

Watching streams from artists like cottonwings, Mr_Randomnese, or Natsumen (aka. Capssimistic) sparked that inspiration to start doing live coding streams, because I wanted to bring those experiences to web development.

That being said, I wanted to keep things balanced between gaming and coding streams. I'm still in my early days of streaming anyways, so it's a good time to experiment and see where this ends up.


I host two primary series at the moment:

  • Random Gaming Hour: An hour or two of chill gaming session, either with or without microphones. Often stream old games as well. Feel free to interact with each other in chat!
  • Twitch-Driven Development: A chill live coding session where I work on my projects live on stream. Mostly web-development (HTML/CSS/JS), but might try other stuff too.

Note: Currently I don't have a fixed schedule, but I'll try my best to stream every Tuesday night (9pm GMT +7) at the very least. If you want to keep updated on upcoming streams, go follow me on Twitter or join my Discord! I often post stream announcements there.

New Live landing page

I've also set up as a quick introduction to my streams. It also has a link to my Twitch page as well as my tip jar, where you can support my work.

/ notePermalink

I'm pleased to announce that is now open source!

Over the past week, I’ve been helping the team at Kawal COVID-19 to build their website. We’re a group of volunteers from many backgrounds (including, but not limited to, medical practicioners, technologists, and data scientists), helping to provide accurate and factual information regarding the recent outbreak of the coronavirus COVID-19, which has hit several countries, including Indonesia. If you want to know how this came to be, I wrote about it on my website.

You can view the source code here. We're still working on documenting our stack, as well as writing guides for first-time contributions. Please be patient!

/ notePermalink

The ReactJS documentation is 75% translated to Indonesian!

Thank you to everyone who have contributed to the ReactJS Indonesian documentation so far! As one of the maintainers, the enthusiasm from the Indonesian community has been superb, and

We still have some pages that remain untranslated, so if you would like to start contributing alongside us, head on over to the GitHub page right now!

/ notePermalink

A couple of notes about the 737 MAX controversy:

  • No, being "grounded" does not mean the 737 MAX is banned from flying for good. The 737 MAX planes are prevented to fly until the parties calling - or Boeing - finished with their investigation.
  • No, not all 737s are grounded. Just the new 737 MAX 8 planes, which has the catastrophic flaw with the MCAS, which caused the #JT610 and #ET302 accidents. The 737 NG planes and 737 Classic planes are all unaffected.
/ notePermalink

Yes, in case you've missed it, this website has been redesigned again!

This is probably my most ambitious redesign to date, since I've also taken the time to clean up old components and restructure existing ones to be easier to maintain. (One component uses Hooks now!)

I've also taken the time to create a personal design system, which I'll use for this website, as well as some future applications. It's called Chungking, and I think you'll love it. You can take a look at it here.

/ notePermalink

I've finally updated my Phoenix with React guide! Phoenix 1.4 ships with Webpack by default, therefore making the setup much more straightforward than before. The long-overdue rewrite has been finished, and has also been made up-to-date following recent updates to Phoenix. The sample repo has also been updated.

As for part 2 of my "Migrating to TypeScript" post, it's almost finished. Stay tuned!

/ notePermalink

And with this note, I'm signing off for 2018.

What an amazing year it has been. I switched jobs, shipped a couple of stuff, and met a lot of lovely people especially in the Jakarta dev circles (JakartaJS, you rock!).

I have to admit I've been lagging on posts lately, especially approaching the end of the year, partly due to mental health issues. But I'm getting better now, and I'll try to blog more when 2019 comes!

(Also, thoughts and prayers go to the victims of the tsunami in the Sunda strait.)

/ notePermalink

Let's try something new: Web Components!

A code editor opening a  project.

A good friend of mine @mathdroid recently introduced me to lit-html, a library built by the Polymer team for writing HTML templates in JavaScript with template literals.

lit-html is simple and lightweight, perfect for taking a break from your usual React life.

A sample  project.

The Polymer team also built lit-element. lit-element builds on top of lit-html, adding Web Components support. In the picture above, I tried building a tiny app using Vaadin Components, an extensive collection of reusable Web Components.

I'm pretty sure Web Components will be the future of the web, and I'll be looking forward to learn more of this in the future!

View some sample codes on Glitch.

/ notePermalink

So they blocked Tumblr again. Great. I'm not even surprised anymore.

Kemkominfo's inconsistencies with website censorship has made me become wary of letting other services host my blog contents, for fear of the same thing happening to Tumblr. Malaysia had already suffered with Medium being blocked.

If Kemkominfo wants to make blogging illegal, let them have it. But we should also make sure to let them know that our voices cannot be silenced. Which is why I've made a personal promise to increase my activity on this site.

IndieWebCamp logo

For any regulars, you might have noticed some changes. That's because I've been inspired by this postto redesign my personal website to more aligned with the IndieWeb initiative, in a quest to regain control of my own content.

More on that in a future post.

/ notePermalink

I'm giving Firefox Quantum a try and I'm hugely impressed! It's a massive improvement over the old Firefox, so much so that it's actually usable now.

I'm going to set Chrome aside and let it be my default browser for about a week. You should give it a try too!

/ notePermalink

Welcome to the new!

What you're seeing here is an experiment in new ways of blogging. The whole idea came after reading through this post, which made me consider restructuring the way I do online content. From now on, expect tiny pieces of free-form posts like this, which I call "Bits." I will still do long-form blog posts, although they will be much less often than usual.

As always, I still maintain my other online presence, particularly on Mastodon and Though as always, things will be slow, since I still suffer from the Social Media Fatigue, more or less.

See you online!