The error BootCamp Error The issue: https://support.apple.com/en-us/HT203913 Disk Utility app no longer lists hidden(unmounted) partition, which in my case is "Windows Recovery"(disk0s4), let alone removing it. diskutil list is the alternative. ➜ ~ diskutil list /dev/disk0 (internal): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme 1.0 TB disk0 1: EFI EFI 314.6 MB disk0s1 2: Apple_APFS Container disk1 745.0 GB disk0s2 3: Microsoft Basic Data BOOTCAMP 254. [Read More]
Manage multiple java versions on macOS using brew and jenv
Install and Update on macOS Manage multiple java versions on macOS can be tricky. There's different ways to install: homebrew cask download java distribution from Oracle download java distribution from java.com And once the java version becomes outdated, there's different ways to upgrade too, which we will discuss below. Upgrade from brew cask homebrew cask doesn't offer the ability to upgrade a package, as brew cask upgrade <pkg-name> is not even available, see [details](https://github. [Read More]
Setting up GitHub Pages site locally on Windows
As we know that we can set up a local version of our Jekyll based GitHub Pages site to test changes locally before pushing to GitHub. The tricky thing is how to set it up on a Windows machine, given ruby and python as well as a few other components are not built-in to Windows, and getting those missing pieces installed and work together on Windows can be tricky. [Read More]
How to use plunker
Plunker has been a great tool for developers to try out new ideas effectively, share code among communities. Compared to other popular tool such as JSFiddle and Codepen, I personally find Plunker excel in the following areas: Best support for angularjs. In fact Plunker itself is written in angularjs. Ability to create unlimited number of files. This makes trying out larger size of demos possible. [Read More]
Angular directives for conditional required
The Problem Angular does support the concept of conditional required through the built-in directive ng-required. And it works great in simple scenarios. Consider the following example where address2 is only required when address1 is not empty. Address1 : <input name="address1" type="text" ng-model="address1" /> Address2 : <input name="address2" type="text" ng-model="address2" ng-required="!address1" /> This can be done using ng-required as shown above. But what if we also want address2 to be 'not required' when address1 is empty? [Read More]
I wanted to run a blog for quite a long time now. IMO, a blog a good way to:
Keep track of knowledge.
Communicate with people around the world.
I will blog mainly on the technology I am interested, the projects I am working on, the knowledge and lessons I learned etc. Hopefully it will be fun. :)