I am trying a new approach for posting content in my blog, where I will share something I heard or read these past weeks that interest me. I found this approach from Jason Fried of Basecamp, where he posts series of contents in this format. This kind of post can also act as bookmarks, so this is the right approach for saving good content from around the Internet.
I found this podcast episode from Gene Kim thread on Twitter. I immediately subscribed to this podcast and listened to several great episodes. For this post, I would recommend the gateway episode. This episode talks with Richard Hipp, the creator of SQLite. This episode opened a whole new perspective of doing software testing, learning from others, and creating an entire business from doing open-source software.
I am trying to read more books this year, especially fiction books. So, I am looking for a good fiction book to start. I found from several sources that The Alchemist from Paul Coelho is a great book. So that’s what I did, I read The Alchemist, and it is a great book. This book is suitable for self-reflection. It made you think about your dreams and journey to this day. Several people call this book sucks because of being too dreamy and optimistic in your life. Still, I think this book is excellent to read in this pandemic time.
OpenShift Container Platform (OCP) is an enterprise-ready Kubernetes distribution from Red Hat. OCP enables companies to run production-grade applications with ease. OCP can run on top of any infrastructure, from bare metal servers to public cloud providers.
OCP provides many options for the developer to deploy their applications on top of OCP. All available deployment options in OCP are in this picture below:
This post will talk about one deployment method in OCP, which eases the process of application modernization. This feature is From Git deployment option. We can import/deploy our legacy application to run on top OCP without any required knowledge about containers or Kubernetes before. We can lift and shift our application into a modern platform quickly.
Using From Git feature is very simple. All we need to supply is our Git repo URL to OCP and also configure our application name. OCP supports public and private Git repositories. You need to provide an access token for a private Git repository using the Secret feature from OCP.
OCP will read your Git repository content, then recommend the most suitable Builder Image for your application. There are builder images for Perl, PHP, Nginx, Httpd, Golang, Ruby, Python, Java, Node.js, and dotnet Core. We can see the form in the picture below:
For this particular example, I will try to deploy a simple Python application built on top Flask framework into OCP. You can access the Python application from this Github repository. This application provides API returning books object.
You can see that OCP will access our supplied repository and inform us when no errors occurred on accessing Git repo in the picture below. By default, it will try to access the main or master branch first, but we can specify a branch, tag, or event commit Id.
The next step is OCP will recommend a Builder Image for this application, based on the repo content. In this case, OCP recommends using Python builder image, with several versions available as options. We can choose a Python version suitable for running our application; we will use Python 3.8 for this example.
You will need to input Application Name to group several applications in your topology. Also, you need to supply Name for this deployed application. We will keep the default option for Resources. OCP also will create a route so we can access our application from the Internet.
We can configure other advanced options, but let’s deploy it now. We can monitor the progress for deployment in the Topology view.
We can see more information about the progress by clicking the app. We will see all details related to the deployment, starting from Pods, Builds pipeline, Services, and Routes configuration. All of this information is presented in easy to learn and navigate user interface. This single web console is the most significant added value in OCP.
After waiting for several minutes, we will see that our application is running. We can test it by accessing it via the URL provided in the Routes section. And voila, our application is now available and deployed on top Kubernetes platform, without creating any configuration for Kubernetes resources.
We can scale our application quickly too. In this example, we will scale our app to run three pods. All requests to these pods are managed automatically and balanced between these pods.
We can explore many other OCP features, but it can be hard to set up your OCP cluster. OCP requires quite significant resources to run, and it can lead to expensive billing. In this post, we also want to introduce Developer Sandbox for Red Hat OpenShift, the newest attempt from Red Hat to ease your container journey to OpenShift Container Platform.
Developer Sandbox for Red Hat OpenShift provides a dedicated OCP cluster for you developers to learn about OCP and other Red Hat technology. You can also develop your application directly using CodeReady Workspaces, a cloud-native IDE. All you need to do to have these is register to the Red Hat Developer site. You can also find other tutorials, i.e., creating microservices in Java or creating apps using Node.js. All of these tutorials will run on top of OCP as well.
That’s all about deployment using From Git in OCP. It is an excellent method for migrating legacy applications into modern platform.
Welcome to my site. I am Rakhmad Azhari, a Software Engineer from Jakarta, Indonesia. In this time of COVID-19 pandemic, I have more free time than usual, so I am looking for new activities. I am experimenting with Daily Personal Journal for last few years, and I feel that writing helps me calm. Mostly my journal is related to my mood or feelings through the day, so I decided that I need new places to share my interests related to technology.
My interests are related mostly with Computer Science. I will write stuff related to Software Engineering, Management, Programming Language, and probably some gossips around startups in Jakarta. I am a Apple fan boy, so I will definitely write something related to them as well.
As you all know, 2020 is full of surprises. I had read in December 2019; there were several cases of an unknown deadly virus in Wu Han, China. I remember treating it lightly, probably just some fake news or wrong translation from a Chinese news site. We started seeing similar symptoms in other provinces in China, and that’s when I knew that this was not a joke. This virus is serious problems, and in just a blink of an eye, our lives change upside down.
Fast forward to November 2020, and I am writing this from my home office desk. I’ve been working from home since March 2020. There was a surge in infection cases in Jakarta, and our province decided to go lockdown. We have two lockdowns and three controlled transitions. It is hard for us, but we need to stay at home because vaccines are not yet approved.
So for the last eight months, we are trying to find a way to kick our boredom. We try to enjoy ourselves at home, but it is getting harder every week. I tried to keep my family at home because we are in a high-risk category. We are trying to minimize the occasion to go outside. Even I haven’t seen my parents face to face during this WFH time.
We tried several methods to stay active and happy at home. We used to do some stretching and jogging in the morning, but we stopped because we got Dengue Fever. To stay healthy, I purchased the Nintendo Ring Fit game so that we can play while exercising. I must say it is quite enjoyable. However, I am distracted by the new expansion of Pokemon Sword/Shield.
We have this tradition to have weekly dinner and watch movies at Cinema, but our favorite place was flooded at New Year’s, and they have been closed ever since. I felt sad for them because it was close to our house. To replace that tradition, we routinely order food using Go-Food. It is quite lovely; actually, we can experiment, trying new food.
I followed several food bloggers on Instagram, and we ordered several dishes they recommend. This online food service saves us in this quarantine time. To keep it safe, we heated every food in the microwave before eating them.
For enjoying new movies, it is more expensive than enjoying new kinds of food. Movies have complicated distribution related to copyright, so if you want to enjoy movies legally, you will need to have several subscriptions. We already have Netflix and Amazon Prime Video long before the pandemic. But since this pandemic, a lot of companies are trying to get some portion for this business. Since cinemas are closing, they need to find new ways to distribute the movies, and streaming is the most plausible idea. So by that premise, Disney is also joining the bandwagon. So we now add Disney+ to the list of subscriptions because the newest movies are in Disney’s possessions.
Another content we enjoy is music. We have an Apple Music subscription and Spotify subscription, but I found it is easier to find new music on YouTube. My wife also loves to watch M/V on YouTube, so we are both avid users. After having some discussion, I decided to purchase a YouTube premium.
So to the summary, in this pandemic, we have:
Amazon Prime Video
Amazon Prime Video probably is not a very popular choice. I got this subscription as part of my Amazon Prime membership. But they have interesting original series, i.e., Grand Tour, The Man in the High Castle and The Boys.
Disney+ is not available in our country, but they have collaboration with Hotstar. We are getting the same movies and series.
We sure have many subscriptions, but we are doing anything to keep happy at this time.
So this blog has not been updated for a couple of months. It is really not according to my plan, which is regularly updating this blog. But it is tough to be disciplined.
So a work-related update, I now have a new job. After spending 5 years in a startup, I am moving again to the corporate world. I joined Red Hat Indonesia as a Specialist Solution Architect. I was assigned to focus on Application Development-related products in Red Hat.
Red Hat is a very unique company. It is very well known for its Red Hat Enterprise Linux, a variant of GNU/Linux tailored for the enterprise environment. Red Hat is very devoted to Open Source; they apply the open-source model to everything. All products are based on upstream versions of open source, where Red Hat performs improvements and tests to produce enterprise-grade software solutions.
I am on my third month here, and I am thrilled with Red Hat. Red Hat adopts open culture, where every crucial business decisions are discussed openly, so everybody can contribute. It is a fascinating culture for an organization with a large number of associates.
I am still learning so much about its products. I need to work harder because I don’t have any sales-related background. But right now, I have a great manager and teammates helping me. I really hope to learn many things here and pave my way to contribute to open-source software.
It has been a month since Apple held WWDC 2020. I wrote some wish list before in this post. Let’s talk about impressions from this first online WWDC ever.
First, I love the new format! It is easier for me to follow all the sessions compare to previous year. Apple has done great job, providing with great streaming videos. Apple also updated their Apple Developer App with great features to support online format.
There are big updates for all platform. But this year WWDC finally give necessary update for the macOS. I am happy and thrilled to see macOS Big Sur. But l am sad that my Mac Mini are out of list supported hardware. New macOS also increase the version to 11 after 20 years. They introduced new design language, bringing some from iOS. I love new look, but as usual not everybody is onboard new changes.
Biggest news this year is transitioning from Intel to Apple Silicon. I am not really surprised with this move, since Apple already pave this way for last decade. I saw several benchmark where iPad Pro kicked Intel-powered MacBook Pro to dust. I also sense that there is problem in Intel, they are being overtook by AMD in desktop CPU, and Apple in mobile CPU.
As long as I followed Apple stuff, I can’t remember when they stop transitioning. I knew Apple in 2007, time when they started Intel transition. They continued transition in software, start from moving from 32-bit to 64-bit, adaptive size classes, Objective-C to Swift, Storyboard to SwiftUI, and many more. They just don’t stop, keep moving the platform forward.
I have installed iOS 14 and iPad OS 14 in my daily drivers, right from public beta started. It has been smooth ride and I am waiting for WatchOS 7 public beta. I love the new widget features, especially Smart Stack and Siri Suggestions. On iPad OS 14, Scribbles capability really blows my mind. I am using my Apple Pencil more and more, and having fun to write into any input.
As from my wish list, I am still (patiently) waiting for better external display support. Also probably capability for iOS/iPad OS to be able manage multiple audio input / output source. I love using my iPad for attending Zoom, and I experienced myself it is hard to record audio session in webinars or meetings.
I am happy that several things are finally arrived, but still limited. I love how you can change default app. Altough only for Email and Browser app. But, my wish related to improvement for Spotlight, and Web Extension framework for Safari are coming this year.
There are lots of improvement across all platform. I am really excited to learn and see what new apps will come in the near future. Now, back to learn Swift!.
I am trying to make writing a habit, yet I am not updating this blog for a month. Now, I am looking for ways to post without having to open WordPress.com editor. I used to blog using desktop app before, I used desktop client in Linux (I forgot the name). I found it is easier and faster to write than loading web interface and write on the editor.
I am experimenting using Ulysses as my editor for blogging now. Ulysses is great for writing long-form. I purchased Ulysses through SetApp subscription. SetApp is a nice subscription system for macOS apps from MacPaw. You might know them from CleanMyMac app, also included in the subscription for obvious reason.
Ulysses has integration features with popular blogging platforms, including WordPress. All you need to log in using your WordPress account and you can start writing. If you are using your WordPress using 2FA (Two-Factor Authentication), you will need to generate application specific password so Ulysses can interact with WordPress API.
WordPress itself also provides a desktop application, but I prefer to use tools I am familiar with first before trying new methods. We’ll see how this experiment goes in the next few weeks. I have so many ideas I want to write, but always hit the great wall of laziness.
WWDC 2020 will be a streaming event due to COVID-19. It will be aired on live tonight (00:00 GMT+7). This is exciting to have live streaming for event this big. I am excited to see how iOS, iPadOS, tvOS, WatchOS and macOS are moving forward.
My Wishlist for this year release are:
Better external display support for iPadOS. It is painful to see when you project your display into a 4K monitor, and all you can see is a 1280-800 picture. Please give us options for external display resolutions.
Support for extended display mode. I hope this can be done this year. Having extended mode will be awesome, and I think really can push the iPad as a desktop replacement.
The ability has to replace default apps in iOS. No further explanation.
Ability to have other browser engines in iOS.
This is a particular wish, but I would like to iOS to have the ability to manage audio source and output. I wish I can still listen to short clips on twitter while I listen to my podcast. Or I can mute some apps while others are not. It is like SoundSource from Rogue Amoeba.
I like to have Alfred-like capabilities in the iOS spotlight. It will be awesome to have the ability to invoke system commands to control devices. Want more awesomeness? Open the possibilities for people to write plugins for iOS Spotlight.
This is Shortcut related wish. I am using Shortcuts in Safari to restore video control when I am watching a video. But I need to trigger that every time, and it is tiring. I wish Shortcut will have the ability to run automatically when I opened some website. This kind of ability would be excellent.
Better Safari for iOS. IPadOS provides a desktop-class Safari browser in iOS 13; I tend to use the web version of an app more and more (I am looking at you, Google Docs). I love how you can also use Apple Pencil as a pointer, but it would be awesome if I can use it for things like sign a document, highlight text in the browser, etc.
Please give us better text selection. It is hard to do, even in large iPad with latest software.
Woot, lots of wishes. I know this year is chaotic, but if I really want to have my top 3 this year. Let see if Apple delivers them tonight.
It started from this question in StackOverflow about dependent microservices. I followed several references and found interesting things related to system architecture. I put those here for future references.
There is a model we can use for scalability, named Scale Cube. It has 3 (three) dimensions:
X-axis – Horizontal Duplication – Scale by Cloning
Y-axis – Functional Decomposition – Scale by Splitting Different Things
Z-axis – Data Partitioning – Scale by Splitting Similar Things
Defining Service Boundaries are necessary for creating good microservices. There are several references for this:
I ❤️ this quote. I found this quote long time ago, where I am very passionate doing research work.
“If I have seen further it is by standing on the shoulders of Giants.”
Being a researcher is not an easy work. You need to read a lot of references and doing lots of experimentations. All of those are based on previous researchers’ work. Their contributions are your stepping stones to push science forward. They are giants that you’re standing on.
I think this quote is not only available to research field only. All of our lives, are built upon previous generation’s contributions. Our founding fathers and heroes gave their lives to make sure our generation is in better state than theirs. To think that my generation will (or already) take up the torch to set foundation for next generation.