Blog

  • WordPress Meetup Kuala Lumpur (Feb 2024) – Recap

    This is a recap post for WordPress Meetup Kuala Lumpur (Feb 2024) – WordPress for Developers. I was a speaker and I gave a talk about “Developing Plugin with React and WordPress NPM Packages”.

    The Details:

    • Name: WordPress Meetup Kuala Lumpur (Feb 2024) – WordPress for Developers
    • Location: Agmo Space, Multimedia University – MMU Cyberjaya, Persiaran Multimedia, 63000 Cyberjaya, Selangor, Malaysia (Google Maps)
    • Date(s): February 24, 2024 (Saturday)
    • Website: https://www.meetup.com/kuala-lumpur-wordpress-meetup/events/298750694/
    • Brand(s) sponsoring: None.
    • Event size:
      • Expected number of attendees: 68 registered attendees (from meetup.com page)
      • Actual number of attendees: About 40 people, based on my rough counting.
    • Participant breakdown/target:
      • Organizer’s description: None.
      • Table visitors: None.
      • Other observations: None.
    • Was the event inclusive: Yes.

    Things that went well: 

    • My presentation went well. It took about 45 minutes. There were some questions and engagements about the way we build WooCommerce admin pages with API in PHP and front-end in React, JavaScript and TypeScript.
      • I asked the audience about their experience with front-end libraries. One attendee uses React, and another one attendee uses Vue.js.
      • I showed some code generated with AI (VS Code with GitHub copilot). This sparked some questions and discussions in networking session.
      • I showed them how we build React pages in WooCommerce core plugin, and how we build extensions like Google Listings and Ads and Pinterest for WooCommerce that integrate with WooCommerce, with Integrating admin pages into WooCommerce extensions as reference.
      • I encourage them that they can build WooCommerce extensions, or even build their own plugin and extensions business by referring to our open source codes.
    • Louis’ presentation on building a WordPress plugin business was good. It took about 1 hour 30 minutes, covering a lot of topics like researching ideas, delivering MVP, marketing, pricing etc. It generated a lot of questions and interests.
      • Louis is positive about WooCommerce. He mentioned WooCommerce numerous times. He thinks it is good and he encourages attendees to use it too.
      • At one point, an attendee asked about WooCommerce marketplace and fees to get extensions listed in the marketplace. Louis directed the questions to me. I do not know the exact answer, but I did my best to answer it, highlighting the benefits of WooCommerce marketplace.
      • Louis builds his own licensing server. He showed us some of his code in his private GitHub repo.
    • Networking session – notable people:
      • I met Arthur Wong (from WordPress Meetup Kuala Lumpur (Dec 2023)) and wanted to follow up with him on his WordPress.com experience, his Taichi booking project, and his industrial property project. Unfortunately he had to leave early and we didn’t talk much.
      • Daniel Lang (AI engineer / founder) came and had a chat with me, since I am from Automattic and I mentioned AI briefly throughout the event. He told me that he knows @etobiesen for many years. We had a great chat talking about many things, mostly about AI, and it even extended into our LinkedIn messages. In my last messages with him, I told him about Jetpack AI assistant. He said he didn’t know about it and he will take a look.
      • I spoke to Christine Tee (Staff Machine Learning Engineer at Turing.com), because she is the one who uses Vue.js when I asked during my presentation earlier. I was interested and asked her questions about AI and her experience in Turing.com, partly because previously I had a job via Turing.com. She is active in Google Developers Groups and she gives talks in public speaking events. We chat until the end of the event. I asked if she is interested in joining Automattic, and she said not at this moment.

    Things that we could improve next time:  

    • A location that is closer to Kuala Lumpur city. I know of a few people who couldn’t make it because Cyberjaya is too far away for them. I asked Liew (the organizer) about this, and he said, given the time, that is the best sponsored place that he could find.

    Commonly asked questions: 

    • An attendee asked if there is a way to automatically sync data changes from the database to the wp-data in the browser.
    • An attendee asked if they can build similar front-end but using other library like Angular or Vue, not React.

    Photos: 

  • WordPress Meetup Kuala Lumpur – 24th February 2024

    I’ll be speaking in the WordPress Meetup Kuala Lumpur (Feb 2024) – WordPress for Developers event this coming Saturday 24th February, 2024.

    • Date: February 24, 2024 (Saturday)
    • Time: 2:00PM – 5:00PM (UTC+8)
    • Venue: Agmo Space, Multimedia University – MMU Cyberjaya, Persiaran Multimedia, 63000 Cyberjaya, Selangor, Malaysia (Google Maps)
    • Speakers:
      • Louis Gan from Appfromlab
      • Gan Eng Chin from WooCommerce / Automattic Inc.

    I’ll talk about how to leverage React and WordPress NPM packages to build wp-admin pages in your WordPress plugins to provide the best user experience.

    Join us!

  • Mission

    Responding to the Bloganuary January 9 prompt:

    Daily writing prompt
    What is your mission?

    This is deep.

    I feel like I am still learning and finding mine in my life.

    Or perhaps I shouldn’t look at my life-long mission now, since I haven’t really figured out one.

    A short-term mission.

    To get more people (especially in Malaysia) to know more about Automattic and its remote distributed work culture.

    Because I find many people and companies have doubts and do not subscribe to this idea. I think it is a shame or a waste, and I would like to do my part to change it, even if it’s just a little.

    That’s one of the reasons why I enjoy attending WordPress meetups and WordCamps. And doing presentations and talks about our P2.

    That’s one of the reasons why I setup this blog.

    Perhaps this short-term mission might eventually end up being my life-long mission.

  • Living a very long life

    Responding to the Bloganuary January 8 prompt:

    Daily writing prompt
    What are your thoughts on the concept of living a very long life?

    It depends.

    If everyone can live for a very long life (say 100 years old at the minimum), but every other factors remain the same, then I feel like the quality of life may become bad or terrible.

    There would be more and more people, on a crowded and limited space we call Earth. Resources will become lesser.

    Unless we are not confined to just Earth. If we are able to travel to and live in other planets, then that may not sound like a bad idea after all.

    But in the end, what is the purpose of life?

    If we do not have a purpose in our lives, then what is the meaning of living a very long life? What difference does it make?

    Would it be boring? Would it even be a torture?

    Unless we never stop learning. To make long lives purposeful and meaningful.

    That’s the meaning of life.

  • Do Differently

    My response to the Bloganuary January 7 prompt:

    Daily writing prompt
    What could you do differently?

    One thing I mentioned in my previous post is that I wish I can hold on less to perfectionism.

    Nothing is perfect.

    Shipping imperfect code is better than perfect code that never get shipped.

    A published post is better than a perfect post that never get published.

    Don’t overthink things.

    Just ship, learn, and repeat.

  • Freeway Billboard

    Here’s my response to the Bloganuary January 6 post:

    Daily writing prompt
    If you had a freeway billboard, what would it say?

    I think of many quotes that could go into the billboard.

    If you had one shot or one opportunity
    To seize everything you ever wanted in one moment
    Would you capture it or just let it slip?

    Eminem’s Lose Yourself song.

    Though it’s probably a bit too cheesy to put a song lyric like this into a billboard.

    I am the master of my fate
    I am the captain of my soul.

    Invictus.

    I first learned this from the movie Invictus. Great movie.

    见自己 见天地 见众生

    (Direct translation: “See yourself; see the heaven and earth; see all living beings.”)

    From 一代宗师 The Grandmaster movie.

    Learn and understand one self. Learn from everything and everyone in the world. And give back what you learn to the world.

    Leave it better than you found it.

    Sir Robert Baden-Powell.

    A phrase that is mentioned quite regularly within Automattic. The idea is that if we find something that is not ideal – whether it is documentation, blog post, code, physical environment etc – we should make it better than how it was. Edit the documentation. Refactor the code. Pick up the trash. Make it better for the person after us, which might eventually come back to us.

    Maybe even The Automattic Creed. But that’s probably too long to fit into a freeway billboard.

    And no, I don’t need to promote my own blog on the billboard.

  • Spending time thinking about the future or the past

    This is a response to the Bloganuary January 5 prompt:

    Daily writing prompt
    Do you spend more time thinking about the future or the past? Why?

    I guess it is about 50/50.

    I don’t usually actively think about the past, unless I am triggered by something. For example, I would look into the past to make an informed decision in projects. Or when Google photos shows me highlights from the past, which would make me think of the good old times.

    I feel I would tend to think of the future a bit more than the past. Thinking or worrying about the impact of my actions, or inactions. There are some bits of perfectionism in me.

    Though I’m thinking or hoping to change that via blogging here. Just blog in the moment. Don’t overthink about the past or the future. Just blog it, one post at a time.

    If something goes wrong, we can edit the post, or make another post to explain it.

    This is like what we say in coding. Shipped code is better than perfect code that never get shipped. A published post is better than a perfect post that never get published.

    Don’t overthink it. Just ship it. Just blog it.

  • Greatest Gift

    My answer to the Bloganuary January 4 prompt:

    Daily writing prompt
    What is the greatest gift someone could give you?

    I’m not really a gift person.

    Sometimes I just find it difficult to buy gift for people. Whether it is a birthday gift, or a souvenir when I am traveling. Unless the person explicitly tells me “Hey Gan, would you buy me this thing from that place please?”. Otherwise, I would often have doubts whether the person is going to appreciate or enjoy the things that I buy for them.

    And when people give me gifts, if they are useful, then that’s great. If there are shared memories attached to it, then that’s even better. But I think most of the time, the gifts end up becoming just an object lying around.

    I am lucky and fortunate enough that I can buy the things that I want. I am financially well and I do not need to worry too much about money.

    Like my birthday gift for Matt, the greatest gift that someone could give me are things that money can’t buy.

    Spending good quality time together.

    Sharing good memories.

    Companionship.

    Mind and soul.

    Best friends.

    For life.

    That’s the greatest gift one could ask for.


    Shoulder to lean on,
    Laughter shared in the soft light,
    Bond unspoken, strong.

    Haiku on “Companionship”, generated by ChatGPT.
  • Birthday Gift for Matt

    In my previous post Playtime, I briefly talked about Matt. About how he seems to blend worktime and playtime into contributing to WordPress and open source, which in my opinion is a pretty good inspiration for everyone to achieve.

    That is the first time I mentioned Matt in my blog. And to be honest, I wasn’t so sure whether I should really mention him. How many people would publicly mention their CEO in their own blog?

    But in the end, I told myself, “Hey, don’t think of him as your CEO. Think of him as a person. Think of him the way you think before you join Automattic.” In other words, put aside the possible conflict of interest, or possible threat or risk from anyone. Look at the bigger picture. A world perspective.

    He is indeed a good example and inspiration. It is what it is. So I did it.

    After publishing the post, I was looking for some UI and theme inspiration for my new blog here.

    Of course, what other better place to find good inspiration than Matt’s blog.

    And I happened to stumble upon his new post Birthday Gift.

    In my mind, I was like: “What a great coincidence!”

    I just created this blog over the last weekend, on the night of 30th December 2023.

    And I just happened to mention him in my Playtime post.

    And he just happened to say: “I want you to blog.” in his post.

    So, yeah. There is a warm fuzzy “great coincidence” feeling, that I can’t really describe.

    Thank you, Matt, for all the things you do. For WordPress and open source and communities. For making Automattic the Most Loved Workplace, and all the great Automatticians that you bring in, me included. For being an inspiration for so many people, me included.

    Dedicating this post as my birthday gift to you.

    Happy Birthday, Matt!

  • College

    My answer to the Bloganuary January 3 post:

    Daily writing prompt
    What colleges have you attended?

    This is going to be a short one. Partly because it is easy to answer, and mostly because I am quite occupied today. 😂

    I attended University of Malaya to study Computer Science, major in Software Engineering.

    The university is the oldest university in Malaysia. It was (and maybe still is) considered as the most prestigious one in the country.

    I stayed in the 8th Residential College / Kolej Kediaman Kinabalu for the whole three years. I was quite active and joined many activities at that time, and won a number of awards for my contributions and achievements.

    It was one of the best times in my life. Filled with memories. Good ones and some not so good ones. Mostly good. 🙂