Yearly Archives: 2019

Success: X79 Hackintosh

It took a while to optimize. But I finally installed macOS Catalina on my desktop PC with X79/LGA 2011 motherboard, Xeon E5-2650 CPU and Radeon™ RX 580 GPU. Specs listed below.

Part Model Number
CPU Xeon E5-2650
Motherboard Ant Country X79 Basic
Memory Samsung 8GB DDR3-1333Mhz ECC x 4
PSU Evesky 650W
CPU Cooler Frostwind (Taobao)
mATX Case 钢铁侠M1-N5 (Tmall)
Storage 128GB SSD (macOS), 256GB SSD (Windows 10), 1TB HDD (Shared Storage)
Keyboard 赤暴Readson FH87

A word of warning; you should modify the EFI (a lot) if your system specs are different. I use an ”Ant Country X79 Basic” Chinese motherboard, very similar to Huanan X79.  The CPU type 0x0a01 I set in Clover is only applicable to 8-core CPU models. You should edit that out if your CPU config is different. Also, note that I’ve manually set my system memory info (4x 8GB) within the SMBIOS in Clover. You should edit that as well.

Nota bene

  • Proceed with caution. Don’t blame me if you didn’t back up.
  • Delete VoodooHDA from Kexts/Other, if the AppleALC Kext is working.
  • The guide is not applicable to Opencore bootloader. Go ahead though, if you know what you’re doing.
  • I haven’t tested these settings against the latest version of Clover.

Download The EFI folder for X79

My EFI folder is applicable for Vanilla approach and SSD hot-swap (just replace/paste EFI folder – not recommended though.) If things go south, use the clover settings attached in the starter-EFI folder of my repo. But then you’ve to tweak settings a bit more.

What Doesn’t Work?

  • Sleep/wake
  • Ethernet (For the time being. Catalina broke the ethernet for me. I use a WiFi adapter anyway. So no plans to fix it real soon.)
  • FaceTime/iMessage (It will work after SMBIOS edits. You should do that.)


  • Guide to create a bootable macOS Catalina USB install drive (on macOS)
  • Guide to create a bootable macOS Catalina USB install drive (on Windows)

Post USB preparation

  • Install Clover to the USB flash drive.
  • Use Clover Configurator (macOS) or DiskGenius (Windows) to mount the EFI folder within the USB flash drive.
  • Paste my /EFI folder to the EFI partition.

Good luck!

Pitaka MagEZ iPhone Case Review

Looking for the best iPhone 11 and iPhone 11 Pro case to purchase this year? Searching for an honest Pitaka review? You’ve reached the right place. Read my story/review and decide whether Pitaka MagEZ Case would be the best fit for your iPhone.

I don’t have the habit of upgrading iPhones every year. However, this year was different. My wife just surprised me with an iPhone 11 as the birthday gift. But I managed to drop the iPhone from our bed the second day itself.

That’s when I started searching for a durable iPhone 11 case. I’ve purchased almost 3 or 4 cases and wasn’t happy with any of those. Problem? the weight and dimensions!

iPhone 11 itself is chunky and it’s quite inconvenient if you don’t find an iPhone case with the right dimensions and weight. I was unaware of Pitaka (brand) until YouTube recommended me an Unbox Therapy Latercase vs. PITAKA video.

This encouraged me to research Pitaka and its product range. Pitaka MagEZ Case for iPhone 11 grabbed the attention.

The reviews I saw were quite promising. So decided to give it a shot. I emailed and they agreed to send me a review unit right away. The shipping was swift via SF Express (the benefits of living in mainland China!)

Unboxing Pitaka MagEZ Case

Pitaka: Minimal iPhone 11 Case (In the Box)

The packaging looks and feels premium. The main box comes in jet grey color. I purchased the black/grey (twill) MagEZ case.

What’s inside the box?

PITAKA Slim Case Unboxing
  • MagEZ Case
  • Warranty Card (as QR code)
  • Thank you card

The features (advertised)

  • Metal plates inside to be attachable to the PITAKA magnetic car mount.
  • Made of 100% aramid, a high-tech luxury material for body armor, aerospace, supercars.
  • Weightless feel. 14g weight only. One of the lightest cases on the planet.
  • Extremely Thin. A slim profile of 0.85mm only.
  • Extraordinary scratch resistant, grippy but non-slippy coating.
  • Ridiculously durable and incredibly strong. 5 times stronger than steel at the same weight.
  • No interference with your phone’s WiFi, Apple Pay, wireless charging or signals.

The features (realtime)

MagEZ Case for iPhone 11 & iPhone 11 Pro

As advertised, Aramid is just great. It feels super-light but sturdy at the same time. It doesn’t interfere with wireless charging, wireless networks, and other signals. Battery performs fine, and I haven’t noticed any irregularities in discharging. The mobile network reception works the way it should be. It doesn’t impede the charging port, buttons nor switches. Everything works fine!

Pitaka's Wireless Charging Friendly iPhone 11 Case

I really admire the work they put into designing this case. It’s incredibly lightweight and the non-slippery texture is a win-win for users like me. Another notable feature is the granular design, which adds a premium look to the iPhone case. I haven’t tested the embedded metal plates though. And yeah, even the metal plates won’t mess with your wireless charger.


I’d recommend a MagEZ case anytime. I’m pretty sure it’s the best ultra-thin case for iPhone 11 and iPhone Pro available right now! No wonder why Lew from Unbox Therapy decided to copy Pitaka’s design aesthetics.

Source: Review unit.
Cons: None.
Review type: Unpaid/unbiased. Read my review policy.

Dark Mode for GeneratePress

Yep, Dark mode for GeneratePress done minimally. This website is a demo.

I made Jot, a starter site template for GeneratePress Premium. It comes with an automatic dark mode for supported systems and browsers. This template heavily relies on  prefers-color-scheme CSS media feature. Refer to my previous blog post if you want to read more about that.

Key features of Jot:

  • Automatic dark mode. Follows Google’s best practices.
  • Grayscale filter while in dark mode. Applicable to img, code, kbd, pre, samp, and blockquote.

Overall, the site template would be ideal for writers and bloggers that embrace minimalism.

How to use the GeneratePress Dark Mode site template

Step 1: Download the JSON file and import it to your GeneratePress settings. Accessible via Dashboard → Appearance → GeneratePress → Import Settings.

Step 2: Copy and paste the CSS to the Additional CSS section. Accessible via Dashboard → Appearance → Customize → Additional CSS.

Be sure to edit the settings and style to meet your goals and standards.

Raw .json

{"modules":{"Backgrounds":"generate_package_backgrounds","Blog":"generate_package_blog","Colors":"generate_package_colors","Copyright":"generate_package_copyright","Elements":"generate_package_elements","Disable Elements":"generate_package_disable_elements","Menu Plus":"generate_package_menu_plus","Secondary Nav":"generate_package_secondary_nav","Sections":"generate_package_sections","Spacing":"generate_package_spacing","Typography":"generate_package_typography"},"mods":{"font_body_variants":"regular,italic,700,700italic","font_body_category":"serif","font_site_title_variants":"300,300italic,regular,italic,700,700italic,900,900italic","font_site_title_category":"serif","font_site_tagline_variants":false,"font_site_tagline_category":false,"font_navigation_variants":false,"font_navigation_category":false,"font_secondary_navigation_variants":false,"font_secondary_navigation_category":false,"font_buttons_variants":false,"font_buttons_category":false,"font_heading_1_variants":false,"font_heading_1_category":false,"font_heading_2_variants":false,"font_heading_2_category":false,"font_heading_3_variants":false,"font_heading_3_category":false,"font_heading_4_variants":false,"font_heading_4_category":false,"font_heading_5_variants":false,"font_heading_5_category":false,"font_heading_6_variants":false,"font_heading_6_category":false,"font_widget_title_variants":false,"font_widget_title_category":false,"font_footer_variants":"","font_footer_category":"","generate_copyright":"%copy% %current_year% <\/a> Powered by GeneratePress<\/a> for WordPress<\/a>."},"options":{"generate_settings":{"hide_title":false,"hide_tagline":true,"logo":"","retina_logo":"","top_bar_width":"full","top_bar_inner_width":"contained","top_bar_alignment":"left","container_width":500,"header_layout_setting":"fluid-header","header_inner_width":"contained","nav_alignment_setting":"left","header_alignment_setting":"center","nav_layout_setting":"contained-nav","nav_inner_width":"contained","nav_position_setting":"nav-below-header","nav_dropdown_type":"click-arrow","nav_search":"disable","content_layout_setting":"one-container","layout_setting":"no-sidebar","blog_layout_setting":"no-sidebar","single_layout_setting":"no-sidebar","post_content":"excerpt","footer_layout_setting":"fluid-footer","footer_inner_width":"contained","footer_widget_setting":"0","footer_bar_alignment":"right","back_to_top":"","background_color":"#ffffff","text_color":"#333333","link_color":"#72b1db","link_color_hover":"#3498db","link_color_visited":"","font_awesome":false,"font_awesome_v4_shim":false,"dynamic_css_cache":true,"smooth_scroll":false,"header_background_color":"rgba(232,232,232,0)","site_title_color":"#3a3a3a","site_tagline_color":"#7c7c7c","font_body":"PT Serif","site_title_font_transform":"none","site_title_font_size":45,"navigation_font_transform":"none","navigation_background_color":"rgba(232,232,232,0)","navigation_background_hover_color":"rgba(135,135,135,0)","navigation_background_current_color":"rgba(112,112,112,0)","navigation_font_weight":"400","navigation_font_size":17,"navigation_text_hover_color":"#6b96bc","header_text_color":"#3a3a3a","header_link_color":"#b5190e","navigation_text_color":"#727272","navigation_text_current_color":"#6b96bc","header_link_hover_color":"#b5190e","form_button_background_color":"#72b1db","form_button_text_color":"#ffffff","form_button_background_color_hover":"#3498db","form_button_text_color_hover":"#ffffff","form_background_color":"#ffffff","form_border_color":"#0a0a0a","form_border_color_focus":"#0a0a0a","form_text_color":"#0a0a0a","form_text_color_focus":"#0a0a0a","blog_post_title_color":"#333333","blog_post_title_hover_color":"","heading_2_weight":"500","heading_2_transform":"none","heading_2_font_size":24,"heading_1_weight":"500","heading_1_transform":"none","heading_1_font_size":27,"footer_background_color":"rgba(232,232,232,0)","footer_text_color":"#878787","footer_link_color":"#878787","footer_link_hover_color":"#3498db","buttons_font_weight":"600","buttons_font_transform":"none","buttons_font_size":17,"footer_transform":"none","widget_title_font_weight":"600","widget_title_font_transform":"none","widget_title_font_size":21,"widget_content_font_size":17,"footer_font_size":15,"heading_3_transform":"none","subnavigation_background_color":"#666666","subnavigation_background_hover_color":"rgba(85,85,85,0)","subnavigation_background_current_color":"#555555","subnavigation_text_hover_color":"#ffffff","font_awesome_essentials":true,"body_font_size":17,"mobile_heading_1_font_size":27,"logo_width":60,"mobile_site_title_font_size":24,"heading_3_weight":"500","heading_3_font_size":22,"heading_4_weight":"500","heading_4_font_size":20,"body_line_height":1.7,"site_title_font_weight":"500","site_tagline_font_size":15,"heading_1_line_height":1.15,"heading_2_line_height":1.5,"heading_3_line_height":1.3,"nav_dropdown_direction":"left","heading_1_margin_bottom":30,"single_post_title_font_size":29,"single_post_title_font_size_mobile":27,"single_post_title_line_height":1.7,"content_background_color":"rgba(255,255,255,0)","footer_widget_background_color":"rgba(232,232,232,0)","footer_widget_link_hover_color":"","sidebar_widget_background_color":"rgba(255,255,255,0)","paragraph_margin":1.3,"font_footer":"inherit","heading_2_margin_bottom":20,"mobile_heading_2_font_size":24,"entry_meta_link_color_hover":"#3498db","heading_3_margin_bottom":20,"heading_4_line_height":1.3,"top_bar_background_color":"rgba(99,99,99,0)","top_bar_font_size":14,"container_alignment":"boxes","footer_weight":"400","font_site_title":"Merriweather"},"generate_background_settings":false,"generate_blog_settings":{"excerpt_length":35,"read_more":"","masonry":true,"masonry_width":"width2","masonry_most_recent_width":"width4","masonry_load_more":"Load +","masonry_loading":"Loading...","post_image":true,"post_image_position":"","post_image_alignment":"post-image-aligned-center","post_image_width":"","post_image_height":"","date":true,"author":true,"categories":false,"tags":false,"comments":false,"column_layout":false,"columns":"50","featured_column":true,"single_date":true,"single_author":true,"single_categories":true,"single_tags":true,"read_more_button":false,"infinite_scroll":true,"post_image_padding":true,"single_post_image_padding":true,"page_post_image_padding":false,"page_post_image_position":"inside-content","single_post_image_position":"below-title","infinite_scroll_button":false},"generate_secondary_nav_settings":{"secondary_nav_position_setting":"secondary-nav-float-right"},"generate_spacing_settings":{"menu_item_height":52,"separator":20,"header_top":30,"header_right":30,"header_bottom":30,"header_left":30,"right_sidebar_width":30,"content_top":20,"content_right":10,"content_bottom":20,"content_left":10,"mobile_content_top":15,"mobile_content_right":15,"mobile_content_bottom":15,"mobile_content_left":15,"mobile_menu_item_height":53,"footer_right":10,"footer_left":20,"menu_item":11,"footer_bottom":30,"widget_right":30,"widget_left":30,"left_sidebar_width":30,"mobile_widget_right":20,"mobile_widget_top":20,"mobile_widget_bottom":20,"mobile_widget_left":20,"widget_top":25,"widget_bottom":25,"content_element_separator":1,"footer_top":10,"footer_widget_container_right":10,"footer_widget_container_left":10,"mobile_footer_widget_container_top":10,"mobile_footer_widget_container_bottom":10,"footer_widget_container_top":10,"footer_widget_container_bottom":10,"mobile_footer_widget_container_right":15,"mobile_footer_widget_container_left":15,"sub_menu_item_height":9,"mobile_header_right":10,"mobile_header_left":10,"mobile_menu_item":29,"sub_menu_width":110,"mobile_header_top":20,"mobile_header_bottom":20,"top_bar_right":10,"top_bar_left":30,"top_bar_top":8,"top_bar_bottom":8},"generate_menu_plus_settings":{"mobile_header":"enable","mobile_header_branding":"title","mobile_menu_label":"","mobile_header_logo":"","navigation_as_header":false}}}


.main-navigation {
	border-top: 1px solid #efefef;
	border-bottom: 1px solid #efefef;
code {
	background: #72b1db;
	color: #fafafa;
	padding: 2px;
	border-radius: 3px;

img {
	border-radius: 5px;
samp {
	font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace;
	overflow-x: auto;
	margin: 1.5em 0 2em;
	padding: 20px;
	max-width: 100%;
	color: #fafafa;
	font-size: 0.97rem;
	line-height: 1.5em;
	background: #191919;
	border-radius: 3px;
blockquote {
	padding: 15px;
	quotes: "\201C""\201D""\2018""\2019";
	font-size: 96%;
	font-style: inherit;
	margin: 0 0 1.18em;
	position: relative;
	border-left: 3px solid #72b1db;
/* Dark Mode for GeneratePress*/
@media (prefers-color-scheme: dark) {
	.page-hero {
		background-color: #121212;
	.main-title a,
	.main-title a:hover,
	.main-title a:visited,
	.wp-caption .wp-caption-text,
	.entry-title a,
	.entry-title a:visited {
		color: hsla(0, 0%, 100%, .75);
	.generate-back-to-top {
		color: hsla(0, 0%, 100%, .75);
		background-color: #525252;
		text-decoration: none;
	.generate-back-to-top:hover {
		color: hsla(0, 0%, 100%, .75);
		background-color: #72b1db;
		text-decoration: none;
	.main-navigation {
		border-bottom: 1px solid #333;
		border-top: 1px solid #333;
	code {
		background: #72b1db;
		color: #121212;
		padding: 2px;
		border-radius: 3px;
	blockquote {
		-webkit-filter: grayscale(1);
		filter: grayscale(1);

Automatic Dark Mode for WordPress

Update: The Twenty Twenty-One by WordPress comes with color mode switcher. The feature is opt-in and supported in most operating systems, including Android, iOS, macOS, Windows 10, as well as most Linux distributions. If you have Dark Mode enabled, your site will be shown to visitors using a light or dark color scheme, respecting their operating system’s preferences.

So if you’re new to tweaking CSS, you don’t have to follow my guide. You could just install the latest version of Twenty Twenty-One.

But, if you are determined, continue reading this blog post.

Now that prefers-color-scheme is available for modern web browsers, you can use it to enable an automatic dark mode for WordPress websites. It is a CSS media feature used to detect if the user has requested the system to use a light or dark color theme.

Meaning, you can define a dedicated style for each color scheme. And the browser will display the specific color scheme of the website according to the user’s system settings.

The recommended way to use it

@media (prefers-color-scheme: dark) {
body  {
background-color: #121212;color: #fafafa;}}
@media (prefers-color-scheme: light)  {
body {
background-color: #fafafa;color: #121212;}}

Refer to

But I use something straightforward like this

@media (prefers-color-scheme: dark) {
body {
background-color: #121212;color: #fafafa;}}

I prefer this approach since I’m confident with my default color combination.  Take a look at the styling I use for dark mode.

@media (prefers-color-scheme: dark) 
body, .page-hero {
background-color: #121212;
.entry-content, .entry-summary, h1, h2, h3, h4, .main-title, .main-title a, .main-title a:hover, .main-title a:visited, .wp-caption .wp-caption-text, br, .entry-title a, .entry-title a:visited {
color: hsla(0,0%,100%,.75);
top, .generate-back-to-top {
color: hsla(0,0%,100%,.75);
background-color: #525252;
top, .generate-back-to-top:hover {
color: hsla(0,0%,100%,.75);
background-color: #72b1db;
*.lgc-grid-50:hover {
background: #72b1db;
color: hsla(0,0%,100%,.75);

I use the GeneratePress framework for WordPress.

How to Implement Dark Mode for WordPress Websites

STEP 1: Understand and take a note of your default style.css or color options. It varies according to the WordPress theme you’re using. Make sure you don’t leave out tiny details such as the color combination for hyperlinks, menu elements, footer, code, blockquote, etc.

STEP 2: Adjust colors. You can add the prefers-color-scheme CSS media feature within style.css or to the additional CSS section of WordPress. Which is accessible via Dashboard → Appearance → Customize → Additional CSS.

BEST PRACTICE: It’s recommended to place @media (prefers-color-scheme: dark) {} right beneath the current set of additional CSS.

Keep in mind that dark theme isn’t just about replacing colors. Don’t use high contrast colors for paragraphs. Adhere to WebAIM guidelines and Google best practices. Good luck!

Tip Me:

Support if you’d like by referring my resume or donating through PayPal or Alipay.

Success: ThinkPad T530 Hackintosh Setup

I know you badly need the ThinkPad T530 EFI folder or Clover configuration file ASAP. Can we start with a backstory though?

Update: I’ve published a new guide to install macOS Catalina on ThinkPad T530.

Back at my ThinkPad T530. I love this beast of a machine. It’s easily capable of handling eGPU (GTX 9604G & 750Ti), and MacOS for work. The device performs similar to a mid-2015 MacBook Pro. Also, note that I don’t prefer Catalina at the moment, so my EFI folder is only applicable to the latest build of Mojave.

So here we go. Don’t forget to fork or star my GitHub repo, it’s your call.

My ThinkPad T530′ Specs: i7 3740QM, 16GB Memory, 256GB SSD + 256GB SSD + 1TB HDD, NVIDIA NVS 5400M (N/A for Hackintosh)'s T530
ThinkPad T530 Boot Screen ~ Clover Bootloader

The Launchpad

ThinkPad T530 Hackintosh Mojave Launchpad
Yeah, iMessage aka Message is working.

The Display Resolution Settings

ThinkPad T530 Hackintosh Display Settings
ThinkPad T530 Hackintosh Display Settings

What Doesn’t Work?

  1. Inbuilt WiFi card.
  2. MiniDP
  3. Fingerprint reader
  4. Card reader.


  • Proceed with caution.
  • EFI folder is N/A for Opencore bootloader. Go ahead though, if you know what you’re doing.
  • EFI-swap recommended. I haven’t tested these settings against the latest version of Clover.
  • The EFI folder is applicable for Vanilla approach and SSD hot-swap (just replace/paste EFI folder – not recommended though.)

Dude, what’s an SSD hot-swap?

It’s a half-arsed practice. This involves installing macOS Mojave on a real MacBook Pro and moving its SSD to the T530 after editing the EFI folder. It’s wise to choose a machine similar to ThinkPad T530 in terms of CPU and screen resolution, eg: mid-2012 MacBook Pro.

Download The EFI folder for ThinkPad T530

Use the BIOS settings as mentioned below.

Disable dGPU: The process is quite simple. Go to BIOS Setup -> Config -> Display and set the Graphics Device as “Integrated Graphics.” Also, disable the OS Detection for NVIDIA Optimus. Make sure it looks like the attached image below. Then, select Save & Exit.

ThinkPad T530 BIOS Display Settings for Hackintosh

Select UEFI Only: Go to BIOS Settings → Startup, select UEFI only.

Disable CSM Support: Do this if the USB doesn’t boot initially. Go to BIOS Settings → Startup, disable CSM support.

T530 BIOS Startup Settings for Hackintosh

ThinkPad T530 macOS Mojave – Vanilla Installation Guide(s)

It doesn’t matter if you own a real Mac or not. I’ll share the installation guide for both macOS and Windows.

How to create a bootable macOS Catalina 10.15 USB install drive? (on macOS)

Step 1: Refer to this guide from 9to5mac

Step 2: Download and install Clover to USB.  Refer to this article for clarity.

Step 3: Install Clover Configurator, and mount the EFI partition. Then replace the EFI folder with the one on my repo.

How to create a bootable macOS Catalina 10.15 USB install drive? (on Windows)

Step 1: Install Transmac on a Windows machine. It has a 15-day trial period and works flawlessly flashing DMG files to USB.

Step 2: Download the macOS 10.14.X with clover dmg file from here or other sources you come across Google SERP.

Step 3: Download the EFI folder in my GitHub repo.

Step 4: Download Clover Configurator for macOS (latest version).

Step 5: Connect a 16 GB USB flash drive.

Step 6: Open Transmac. In the left pane, right-click the USB Drive and select Format Disk for Mac

Again in the left pane, right-click the USB Drive and select Restore with Disk Image. Then select the DMG file I mentioned in (2). The flashing process will take a few minutes depending on the size of .dmg and speed/port of the USB drive.

Step 7: Install DiskGenius.

Step 8: Locate the USB drive in DiskGenius. Delete the EFI folder and replace it with the new EFI folder. Refer to this part of a YouTube video for clarity.

Step 9: Plug the USB drive into the ThinkPad T530 and boot from USB.

Step 10: Format the disk drive to APFS, install macOS Mojave and restart the system.

Step 11: Connect the Hackintosh system to the Internet via LAN cable, USB tethering or a Mac-compatible external WiFi adapter.

Step 12: Download & install Clover Configurator on MacOS. Open EFI partition and copy -> paste the EFI folder once more.

You may use Karabiner-Elements if the keyboard mappings (command and option) are acting up.

ThinkPad T530 Hackintosh Settings for Karabiner Elements
ThinkPad T530 Hackintosh Settings for Karabiner Elements

All the best!

My Retro Playlist

Let’s travel back to the glorious analog era. Here’s my list; not in any order. I’ll update it from time to time.

  1. Murray Head – One Night In Bangkok
  2. Mick Jagger – Just Another Night
  3. The Human League – Don’t You Want Me
  4. Jimmy Cliff – I Can See Clearly Now
  5. Marvin Berry & The Starlighters – Earth Angel
  6. Billy Paul – Me And Mrs. Jones
  7. The Buggles: Video Killed the Radio Star
  8. Blondie – The Tide Is High
  9. The Ronettes – Be My Baby
  10. Billy Joel – We Didn’t Start the Fire
  11. Tea For Two – Time And Love
  12. Tiffany – I Think We’re Alone Now
  13. Danny Keith – Keep On Music
  14. Frankie Goes to Hollywood – Relax
  15. Billy Joel – Uptown Girl
  16. a-ha – Take On Me
  17. Shakin’ Stevens – Breaking Up My Heart
  18. Kim Carnes – Bette Davis Eyes
  19. Culture Club – Karma Chameleon
  20. Tony Orlando & Dawn – Tie A Yellow Ribbon Round The Old Oak Tree
  21. Cyndi Lauper – Girls Just Want To Have Fun
  22. Michael Jackson – Beat It
  23. Madonna – Material Girl
  24. One way ticket (to the blues) – Neil Sadaka & Eruption’s version
  25. Neil Sedaka – Oh! Carol
  26. Wham! – Last Christmas
  27. Baby’s Gang – Challenger
  28. Alphaville – Forever Young
  29. Kim Wilde – You Keep Me Hangin’ On
  30. Kristian Conde – Dolce Vita
  31. David Lyme – Bye Bye Mi Amor
  32. Evelyn Thomas – High Energy
  33. Bananarama – Love In The First Degree
  34. Bananarama – Venus
  35. Europe – The Final Countdown
  36. Taffy – I Love My Radio
  37. Queen – Radio Ga Ga
  38. Village People – In the Navy
  39. Donna Summer – I Feel Love
  40. Falco – Rock Me Amadeus
  41. Survivor – Eye Of The Tiger
  42. Spagna – Call Me
  43. Fun Fun – Color My Love
  44. Le Click – Tonight Is The Night
  45. Paul Lekakis – Boom Boom
  46. The Communards – Don’t Leave Me This Way
  47. Erasure – Oh L’Amour
  48. Yazoo – Situation
  49. Anything Box – Living In Oblivion
  50. Technotronic – Pump Up The Jam
  51. Inner Circle – Sweat (A La La Long)
  52. Bob Marley – One Love
  53. Kenny Rogers – Lady
  54. Michael Bolton – When a Man Loves a Woman
  55. Lionel Richie – Endless Love ft. Shania Twain

Success: ThinkPad X230 Hackintosh Setup

I know you’re here for the EFI folder or Clover configuration file. Hang on, let’s start with the backstory, shall we? (Or skip the lame intro)

Note: I don’t have access to my X230 anymore. Please don’t expect updates.

To put you into perspective; I own a ThinkPad X230 Tablet. But I hate the bulky 6-cell battery it came with. So I purchased an X230 i7 model without memory and SSD. Then I upgraded the device to a 2 x 8GB 1600 Mhz memory + 256 GB mSATA + 256 GB 2.5″ SSD beast of a machine.

The Catalina Journey

Even though I prefer Mojave 10.14.16 as the daily driver, I got hooked by Apple’s update notification. So I made a CCC clone right away and decided to test Catalina on this machine. The direct update resulted in failure.

Then I searched for “ThinkPad X230 Hackintosh EFI” on Google. Luckily I stumbled upon @littlegtplr’s repo on Github. Their EFI settings worked for my vanilla installation. Then I made some changes to the settings and decided to post my result on Reddit and GitHub.

Latest Updates

  1. I no longer use @littlegtplr’s settings. I’ve configured everything myself and updated the repo.
  2. Applicable to Catalina 10.15 ~ 10.15.2.

X230 from 2012 Living The Catalina Dream! from hackintosh


Without further ado, you can grab the EFI Folder (Clover), plist, and BOOT required to install/run Thinkpad X230 Hackintosh Catalina 10.15. Move these files to your EFI Folder. I’ve got another EFI folder labeled EFI-test. Feel free to tinker that also.

Download The EFI folder for ThinkPad X230


Inbuilt intel-WiFi adapter won’t work out of the box. Atheros AR5B95, Lenovo part number 20002357 is a macOS supported/Lenovo-whitelisted card available for X230. You should add IO80211Family.kext to Kexts/Other after installing the card.

Alternatively, you can flash the BIOS and remove the whitelist if you plan to use Broadcom WLAN cards. Stick with a nano-USB WiFi adapter (something cheap based on Realtek) if you don’t want to alter your hardware.

What Else Doesn’t Work?

Fingerprint reader & card-reader.

Nota Bene:

  • Proceed with caution.
  • Kindly delete the RtWlanU & RtWlanU1827 kexts from kexts/Other folder.*
  • These files are N/A for Opencore bootloader. Go ahead though, if you know what you’re doing.
  • EFI-swap recommended. I haven’t tested these settings against the latest version of Clover.

*I added Realtek WLAN kexts to use with my Comfast USB Wi-Fi adapter. You should edit the configuration according to your preferences. The EFI folder is 100% applicable for the Vanilla approach and SSD hot-swap.

Dude, what’s an SSD hot-swap?

Half-arsed practice. This involves installing macOS Catalina on a real MacBook Pro and moving its SSD to an X230 after editing the EFI folder. It’s recommended to choose a machine similar to ThinkPad X230 in terms of CPU & hardware configuration, eg: mid-2012 MacBook Pro.

ThinkPad X230 macOS Catalina – Vanilla Installation Guide(s)

It doesn’t matter if you own a real Mac or not. I’ll share the installation guide for both macOS and Windows.

How to create a bootable macOS Catalina 10.15 USB install drive? (on macOS)

  1. Refer to this guide from 9to5mac
  2. Download and install Clover to USB.  Refer to this article for clarity.
  3. Install Clover Configurator, and mount the EFI partition. Then replace the EFI folder with the one on my repo.

How to create a bootable macOS Catalina 10.15 USB install drive? (on Windows)

  1. Install Transmac on a Windows machine. It has a 15-day trial period and works flawlessly flashing DMG files to USB.
  2. Download the macOS 10.15 with clover dmg file from here or other sources you come across Google SERP.
  3. Download the EFI folder from this GitHub repo.
  4. Download Clover Configurator for macOS (latest version).
  5. Connect a 16 GB USB flash drive.
  6. Open Transmac. In the left pane, right-click the USB Drive and select Format Disk for Mac
  7. Again in the left pane, right-click the USB Drive and select Restore with Disk Image. Then select the DMG file I mentioned in (2). The flashing process will take a few minutes depending on the size of .dmg and speed/port of the USB drive.
  8. Install DiskGenius.
  9. Locate the USB drive in DiskGenius. Delete the EFI folder and replace it with the new EFI folder.
  10. Plug the USB drive into the X230 and boot from USB.
  11. Format the disk drive to APFS, install macOS Catalina, and restart the system.
  12. Connect the Hackintosh system to the Internet via LAN cable, USB tethering or a Mac-compatible external WiFi adapter.
  13. Download & install Clover Configurator on MacOS. Open EFI partition and copy -> paste the EFI folder once more.
  14. You may use Karabiner-Elements if the keyboard mappings (command and option) are acting up.


Tip Me:

Support if you’d like by referring my resume or donating through PayPal, Phonepe, or Alipay.

Success: ThinkPad X230t Hackintosh Setup

It’s about time to bid farewell to my mid-2012 MacBook Pro. The device has aged and I don’t want to change the battery. It works flawlessly nonetheless. What’s new? A Thinkpad X230 Tablet! Skip introduction.

Looking to install Catalina? You could take a look at this Hackintosh guide for ThinkPad X230. The guide is applicable to X230 Tablet variants also.

I’m already happy with my Xeon PC and T530 workstation but needed something lightweight, and powerful while I’m on the go. Hence the refurbished X230t I found on Taobao. I purchased a system with no memory and HDD.

Credits go to Jack Zhang for providing the EFI files.

X230t Specs

  • i7-3520m (Similar to a 13″ mid-2012 MacBook Pro)
  • 16GB RAM
  • Samsung PM810 Series 256 GB SSD
  • KingSpec 128GB mSATA SSD

X230t Hackintosh Digitizer Pen Support

My X230T is a 12.5 Multitouch HD model that came with the fingerprint reader.

What Doesn’t Work?

  • WiFi, you can hack BIOS and install a Mac-compatible WiFi card
  • FaceTime & iMessage
  • Card reader
  • Fingerprint reader

Before You Install Mojave 10.14.3

Kindly note that WiFi won’t work after installing Mojave. Ethernet LAN will work.

So, be prepared if you just own one machine for the whole process. I highly recommend you to get hold of another device for preparing USB, and downloading MacOS DMG, EFI folder, Clover configurator files.

Before You Do Anything

1. Go to BIOS settings → Restart → Load Setup Defaults

ThinkPad X230t Bios Reset
2. Go to BIOS Settings → Startup, select UEFI only disable CSM support.

ThinkPad X230t Disable CSM Support

Hackintosh Guide for ThinkPad X230t Tablet

1. Install Transmac on a Windows machine. It has a 15-day trial period and works flawlessly flashing DMG files to USB.

2. Download the macOS Mojave 10.14.3(18D42) Installer with Clover 4859.dmg.

3. Download the EFI folder.

4. Download Clover Configurator for macOS (latest version).

5. Connect a 16GB USB flash drive.

6. Open Transmac. In the left pane, right-click the USB Drive and select Format Disk for Mac

7. Again in the left pane, right-click the USB Drive and select Restore with Disk Image. Then select the DMG file I mentioned in (2). The flashing process will take a few minutes depending on the size of .dmg and speed/port of the USB drive.

8. Install DiskGenius.

9. Locate the USB drive in DiskGenius. Delete the EFI folder and replace it with the new EFI folder. Refer to this video.

10. Plug the USB drive into the X230t and boot from USB.

11. Install the macOS Mojave, and restart the system.

12. Connect the Hackintosh system to the Internet via LAN cable or a Mac-compatible external WiFi adapter.

13. Download Clover Configurator and refer to 6:32 of this video.

14. You may use Karabiner-Elements if the keyboard mappings (command and option) are acting up.

Tip Me:

Support if you’d like by referring my resume or donating through PayPal, Phonepe, or Alipay.

Success: ThinkPad T530 eGPU Initial Set-up

Here is the most straightforward plug-n-play guide to connecting an eGPU with Lenovo ThinkPad T530.

My laptop is powered by an i7 3720QM CPU, supported by 8GB x 2 memory. Furthermore, I’ve installed 256GB x 2 SSDs.

The system runs Windows 7 SP1, and I’ve used a GeForce GTX 750 Ti and GTX 960 4G for testing. I’ll share GPU benchmark scores later.

I’ve used the express card version of EXP GDC BEAST V8.5 adapter to connect the Graphics Card. You can purchase this adapter from Aliexpress or if you’re outside of China. Since I’m in mainland China, I’m willing to help you buy, test and ship the adapter (for a small fee.)

Sites like sell these for a high price. I’m willing to test (only the ExpressCard versions) and resell them for the same price.

My eGPU set-up:

  1. Thinkpad 530
  2. A Functioning ExpressCard slot.
  3. A second-hand GeForce GTX 750 Ti GPU.
  4. GeForce GTX 960 GPU 4G (Another GPU for testing.)
  5. A 500W PSU.
  6. EXP GDC BEAST V8.5 with ExpressCard connector & an ATX cable that came with the package.

Step 1: Disable dGPU. The process is quite simple. Go to BIOS Setup -> Config -> Display and set the Graphics Device as “Integrated Graphics.” Also, disable the OS Detection for NVIDIA Optimus. Make sure it looks like the attached image below. Then, select Save & Exit.

Step 2: Use DDU to Uninstall NVIDIA NVS 5400M Drivers. Display Driver Uninstaller (DDU) is a driver removal utility that can help you completely uninstall AMD/NVIDIA graphics card drivers and packages from your system, without leaving leftovers behind (including registry keys, folders, and files, driver store).  Doing so is to make sure your PC is clean for an external GPU. Download DDU from here. The software will prompt a restart after the uninstall process.

Step 3: Shutdown PC, Install GPU to EXP GDC’s PCI Express x16 slot and Connect  ExpressCard to the Laptop. Then connect power cables as shown below.

How to connect PSU, EXP GDC
Credits: Reference image.

If your GPU requires additional power, you can use the 6pin output to dual 6+2/8 pin connector to connect to your GPU’s power input.

Now connect the EXP GDC Expresscard Type 34/54 Interface (HDMI to Expresscard Cable), and connect the ExpressCard to the corresponding slot on the left side of the laptop.

If you’ve done everything well enough, it may look like this.

Step 4: Turn On PSU, PC, and wait for Windows to detect the eGPU. The external video card will be identified as a VGA Adapter within the device manager.

Step 5: Install the latest driver software for the eGPU. Visit Nvidia’s official website to download the latest driver software(s). Alternatively, you can drivers via the device manager in Windows. Install the drivers and restart your PC.

Step 6: Connect an external monitor 5 minutes after the first booting.  Right-click on your desktop>screen resolution. Set the external display as your primary monitor/display.

Follow step 6 only if your ThinkPad T530 doesn’t boot with an external display connected to the GPU. Leave it on otherwise.

You may Run>dxdiag or use the device manager to check the details of the GPU connected. Alternatively, you can use CPU-Z to confirm the specs.

Buy Quality-tested EXP GDC Adapters

Contact today if you want me to test an EXP GDC unit (I’m in China) and send it to your hometown. I also take bulk orders if you’re interested.

Cover: EXP GDC BEAST V8.5, HDMI to ExpressCard Cable and a GTX 750 Ti.

Bulk Follow People on LinkedIn

The script is deprecated. Please wait for an update.

Here’s the catch. This script lets you bulk follow connections that already follow you. Here’s the other script if you’re looking to bulk unfollow connections.

I was motivated to create this one based on an inquiry on LinkedIn.

Step 1: Visit this page on LinkedIn;

Step 2: Scroll down on the page so all the followers’ profiles would load. You can scroll down a little and run the *script many times if you’re too lazy.

Step 3: Open Developer Tools in Chrome (Right Click -> Inspect). Switch to the console tab.

Step 4: Paste the script below and press enter:

If the script breaks in the middle, reload the page and repeat the process.

Good luck.

Starting A Blog or Business Site?

You Need WordPress + Generatepress Combo

Learn More

Review: Colorful SSD SL500 1TB

Heads-up, this is not a positive review. We purchased Colorful SL500 1TB last week from Taobao. The product shipped very fast, and I was so happy to extend the storage of my MacBook Pro. The build quality seemed good also, in the Taobao videos.

I regret wasting time on this SSD instead of purchasing a WD Blue. Read this review before purchasing a Colorful SSD or other Colorful storage devices in general.

Note: Tested on a MacBook Pro (13-inch, Mid 2012) and an Intel Xeon based Windows PC. I’ve tried both the USB 3.0 to SATA portable adapter and internal SSD installation methods. The SSD started acting up after the first format.

So, what happened?

The packaging was cheap. But it’s fine for the price they’re selling. Build quality and design aesthetics are appealing indeed.

Colorful SSD SL500 1TB Review

Everything looked fine at first. I removed the old Samsung EVO SSD from MacBook and installed this one. I had the backup online, so I tried installing macOS from internet recovery. Disk initialization went well, and I partitioned the SSD into 256GBx4 volumes.

Colorful SSD Mac Review

Things went downhill after the first reboot. It took a long time for the device to boot, which seemed odd. Then I tried to install macOS from internet recovery. The process got stuck, and macOS threw a weird error that I’ve never seen in my life. I couldn’t understand, and it’s a shame I didn’t take a photo of it.

Then I installed the old Samsung EVO SSD that contained OS files to the DVD bay (via adapter) and booted MacBook. The Disk Utility didn’t bother to show up this time. But it worked fine when I removed the Colorful SSD from the main SSD bay.

By this time, I was aware something is wrong with this Colorful SSD. So, I tried to fix the disk via recovery mode. Once again, Disk Utility wasn’t loading when SSD remained in the disk bay.

Next up, Windows.

I took the SSD and connected it to a Windows machine. Again, Windows took a long time to boot while having SSD connected to the motherboard via SATA connector. I tried Initialize Disk, but it failed to initialize by generating a disk error. I also tried other methods via command prompt (CMD) to clean and format the disk. Everything failed.

Colorful SSD 1TB Windows Review

When I tried to initialize the disk.

Colorful SSD SL500 1TB

Here’s one for the Colorful QA team.

Then I placed the SDD inside a USB 3.0 to SATA adapter and tried connecting it both on Windows and macOS. No luck at all. Finally, I gave up and shipped back SSD to the seller.

I’m so glad that Marui is a VIP member on Taobao. We can ship back any product on the basis of a “no questions asked” guarantee.


Think twice before purchasing any cheap solid state drives you come across. Save up and go for brands like WD or Samsung if you can. Their QA/QC procedure is top-notch. It’s fine for me because we’re in China. We can ship back similar products very soon. It’s not the same for other users buying stuff from Aliexpress or Chinese e-commerce sites.

The review is final. Contact me by email [email protected] if you represent I’ll provide you with a detailed feedback report.

GeneratePress Review: Best Gutenberg-ready Theme in December 2021

Looking for a top-notch lightweight WordPress theme compatible with Gutenberg? Your search ends here. Developed by Tom Usborne, GeneratePress is the best multipurpose theme you can download right now.

I’ve been using GeneratePress Premium version for a while. I tested GeneratePress free version last year. With optimal settings, it improved my site’s performance and loading speed. The base framework felt very flexible and promising, so I had to purchase the GP Premium license.

Update 1: Here’s one more reason to buy GeneratePress. I made an automatic dark mode site template for GeneratePress. Give it a try!
Update 2: I currently offer GeneratePress customization services.

Furthermore, the smooth learning curve makes GeneratePress stand out from the crowd. I’m currently redesigning (a site I moderate) based on the GeneratePress framework.

So I decided to come up with a GeneratePress review and let everyone know why it’s one of the best WordPress themes out there.

Nb: Please bear with me. My review approach will be unorthodox but based on facts and technical reasoning. Let’s dive into it.

GeneratePress Review

GeneratePress is a 100% free Gutenberg-ready WordPress theme developed by Tom Usborne. You may download the free version with limited features and give it a whirl. Go ahead and download GeneratePress for free from their website, or install it through your WordPress administration panel at Appearance → Themes → Add New.

The free version surpassed 100,000+ installs on The theme is routinely maintained and holds a 750+ 5 star rating. These numbers prove GeneratePress and Tom’s integrity as a developer.

Notable Features

I’m not going to mention the standard features. Let’s take a look the notable features of GeneratePress WordPress theme.

  • Insanely lightweight. The theme weighs around 887Kb.
  • Compatible with popular WordPress plugins.
  • 100% Compatible with WordPress 5.0 (Gutenberg).
  • A11Y-ready: Fully accessible to the blind/visually impaired.
  • Works well with Elementor page builder and Beaver builder.
  • Icons designed explicitly for built-in elements.
  • Active forum-based support at
  • Hooks (previously GP Hooks) allows users to “hook” custom code into various areas of the theme without changing core files.
  • Top-class documentation.

Premium Version

GP Premium (priced at $49.95) is a plugin that adds a further layer of customizable options to the GeneratePress base theme.

Meaning, you’ll get access to premium modules like Site Library, Color, Typography, WooCommerce, Elements, Menu Plus, Sections, Secondary Navigation and more. Take a look at the official video overview:

You can use your license on unlimited websites. The license comes with one year of updates & support, 40% renewal discount and 30-day money back guarantee.

GeneratePress Premium Modules

Site Library: Lets you import demo sites and give you a headstart on your next project. Ideal for beginners to WordPress.

Color Options: You can take full control of your site colors using over 60 color options.

Typography: GenaratePress premium comes with 70 typography options. This module gives you complete control over your site text. You can add custom fonts also.

Elements: You can create beautiful dynamic page heros via Elements module. GeneratePress comes with an advanced hook system also. A few demo theme layouts are using these features.

WooCommerce: Take full control of your WooCommerce store using various typography, color, and layout options.

Menu Plus: This module includes features like sticky navigation, slideout navigation (uses vanilla JS), mobile header, navigation logo and more.

Spacing: Adjust the spaces according to your need. You can customize the padding and margins of various elements, including your header padding, menu item height and width, content padding, widget padding and more.

These are the GeneratePress Modules I’ve enabled as of now:

GeneratePress Modules Enabled on

GeneratePress Modules Enabled on

GeneratePress +, Results.

Take a look at the Pingdom Tools’ performance grade for I’m using Autoptimize plugin on top of GeneratePress to speed up my website. Performance Grade With GeneratePress

Tested from SF, USA region. I’m not using any premium CDN. CloudFlare is enabled.

I know a lot of people prefer GTmetrix over Pingdom Tools. So here’s the GTMetrix performance report for

GTmetrix Performance Report for, GeneratePress Enabled

I’m not using any premium CDN service. I’ve enabled CloudFlare HTTP proxy (CDN). My site is hosted on RamNode. I use NGINX +PHP-FPM + MariaDB backend configuration to power the WordPress site(s).

I highly recommend RamNode + VestaCP if you can self-manage a VPS. I pay 7 USD per month for my CentOS 7 64-bit server based in LA. Look for the OpenVZ SSD VPS (SVZS) – LA – 2GB SVZS plan after signing up with RamNode.  Contact me if you need professional guidance and support.

Gutenberg-ready & Plugins Support

Most WordPress themes out there are “Gutenberg ready,” but Tom and his team at GP had taken steps to integrate GeneratePress with the new editor on a deeper level.

Which means you can update your WordPress site to 5.0.x without worrying. Popular plugins like Yoast SEO, WooCommerce, Autoptimize, bbPress, WPML, etc. works great with GeneratePress.

Modules in Action

You’ve to install GP plugin to use the modules. Once you activate the plugin, you’d be able to edit the premium modules, fonts, colors, layout options and more.

Let me show you how the modules work on GeneratePress WordPress Theme. I use Blog, Copyright, Colors, Elements, Menu Plus, Spacing & Typography Modules.

The Blog Module

You can locate the blog module inside: Appearance -> Customize -> Layout -> Blog

Within this module, you have complete control over your blog (archives and single) section’s display. The blog module is categorized into three sections; Content, Featured Images and Columns.

Blog Module on GeneratePress

  • The Content section is divided into Archives and Single; here you can set the display rules for Archives and Single.
  • The Featured Images section is applicable to Archives, Posts, and Pages.; here you can set the Location, Alignment and Width/Height.
  • Finally, the Columns section lets you display posts in columns (or in masonry grid).

The Elements Module

GeneratePress introduced Elements module from version 1.7 onwards. This module replaces the classic Page Header and GP Hooks modules.

Elements are comprised of Header Element, Hook Element, Layout Element, and Display Rules. Visit this thread to learn more about GeneratePress Elements.

Using Yoast Breadcrumbs with GeneratePress Hook:

Using Breadcrumbs with GeneratePress Hook

The Colors Module

There are over 60 Color options available. I won’t be able to include all those options as screenshots in my GeneratePress WordPress Theme review. Here’s how it looks like in real-time:

View post on

The Typography Module

This module comes with 70 typography options. From Header to Footer, you have 100% control over your text’s size and customization.

You can choose your favorite Google Font or stick with the System Fonts for better performance.

GeneratePress Typography Module

Visit (external link) this thread if you plan to add Adobe Typekit fonts to your GeneratePress Website.

Customizing Layouts

From the Container to the Footer section, GeneratePress lets you customize your WordPress website in numerous ways. You’d be able to customize the following layouts with GP Premium plugin:

  • Appearance -> Customize -> Layout -> Container
  • Appearance -> Customize -> Layout -> Header + Top Bar (personal favorite)
  • Appearance -> Customize -> Layout -> Primary Navigation
  • Appearance -> Customize -> Layout -> Sticky Navigation
  • Appearance -> Customize -> Layout -> Slide-out Navigation
  • Appearance -> Customize -> Layout -> Sidebars (personal favorite) minimal now.
  • Appearance -> Customize -> Layout -> Blog
  • Appearance -> Customize -> Layout -> Footer + Top Bar

Within the footer layout, you can set the number of Footer Widgets and fill in the Copyright info. Here’s my Footer and Sidebar layout settings.

GeneratePress Footer LayoutGeneratePress Sidebar Layout


GeneratePress Free version is ideal for casual bloggers, and GP Premium is bang for the buck. Get this WordPress theme:

  • If you’re serious about blogging.
  • If you want to set up a landing page for a business.
  • If you plan to run a community website.
  • If you’re a developer looking for the best WordPress framework/boilerplate to start with.
  • If you plan to set up a WordPress blog in China.

I highly recommend GeneratePress to both WP beginners and experts.

Starting A New Blog?

Get The Best WP Theme For Experts & Beginners

Download GeneratePress

Best Stock Trading Apps for 2021

Everyone wants to buy the shares of their favorite company in the stock market. Gone are the days when you’ve to rely on (physical) stockbrokers over the phone — no need to waste time to understand complex web apps for stock trading anymore.

The trend and technology have changed. There’s a lot of new stock trading platforms, apps, and innovative investment options that make investment easier for both millennials and the experts in trading. Let’s take a look at the best stock trading apps you can get in 2019.

Hox (Discontinued)

Hox made its native apps functional for global users way before its competitors. There are no region restrictions for Hox. That’s why I’m putting them first.

The stock trading platform is fueled by cryptocurrency. Meaning, you can invest in American stocks exchanges like NASDAQ via cryptocurrencies like BTC, ETH, Tether and more.  

Keep in mind that Hox doesn’t come with options like mutual fund investments. It works great for anyone who wants to trade in the US and Hong Kong stocks without relying on a stockbroker.

The platform is ideal for Americans who prefer to invest in the Hong Kong stock market without a lot of paperwork and a stockbroker. The core app comes with stock tickers and real-time market info. Their platform is in possession of a New Zealand Stock Exchange license. Unlike Robinhood, you don’t need to upgrade your account to use all features on Hox. They make money via transaction fee, which is zero at the moment for deposits. Keep an eye on FX rates though.

Recommended For Students in the US: Acorns

Image from their official website.

Acorn is on a mission to look after the financial best interests of the up-and-coming. It is a micro-investing app only applicable to the U.S residents. The platform is free for four years for college students with a valid .edu email address. Is it best for people who struggle to save.

Acorns works like a robot-advisor, meaning, a lot of process on Acorns is automated based on questionnaires and other user interactions.

The automated or mindless-saving approach would be ideal for students. But Acorns fails at their management fees. The “automated” process may be too restrictive for veterans and experts in trading. You should stick with Hox or other platforms.

Best for Americans: TD Ameritrade Mobile

Image from

TD Ameritrade Mobile is excellent for both experienced traders and beginners. It is a mature stock trading platform available for Americans. “TD Ameritrade” is a brokerage firm based in Omaha, Nebraska with major trading centers in Southlake, Texas and St Louis, Missouri.

The platform charges more than its competitors in the industry but delivers with top-notch mobile apps, education resources, and customer service.

Investor education/support is the key highlight for beginners. The platform is packed with videos, articles, slideshows and more. Much of the Mobile Trader experience can be tailored to the investor’s needs.

Best Stock Trading Simulation App: TradeHero

Not everyone is ready to trade right away. Stock market investments are subject to market risks. TradeHero lets you play a stock market game via their web or mobile apps. TradeHero would be the best way to understand the stock market and trading without financial risk.

The platform comes with TradeHero LIVE, which lets you trade Fiat as well as virtual currency. When you become a TradeHero LIVE user, the following risk warning applies. CFDs are high-risk investments. Your capital is at risk. CFDs are not suitable for all investors, and you should ensure that you understand the risks involved.

How about you? What’s your best pick?

How To Set Up Outline VPN

Finding the best VPN can be quite tricky. When it comes to commercial VPN providers, you may have to deal with unexpected downtime and connectivity issues. Skip introduction.

However, it’s not a big deal for people like me, who can set up their own VPN/proxy servers without relying on service providers. But, how about others?

Meet Outline, a free and open-source tool that deploys Shadowsocks servers on multiple cloud service providers. Alphabet’s (Google’s parent company) Outline is the best DIY approach I’ve ever seen when it comes to implementing self-managed VPN or proxy servers.

Even though Jigsaw claims Outline is “built for news organizations,” I feel this platform is ideal for expats in China with little to no knowledge about how VPNs or proxy servers work.

Outline powers your own DIY “VPN” via Shadowsocks, an open source SOCKS5 proxy which, according to their official site, is designed to protect your internet traffic. I hope they’ll switch to ShadowsocksR at some point.

Technically, Outline is not a true VPN but a proxy server manager.

If you are a in China: Keep in mind that is blocked in the mainland. But, you can download the outline manager from Github. The client app for iOS is available on Appstore (I’m sure it won’t be available on mainland China store). Anyway, you still can find IPAs for Apple and client app for other operating systems here.

Download the outline manager from Github

Major features of Outline:

Let’s take a look at the main features of Outline by Jigsaw.

The Outline Manager

A kickass manager app that lets you set up your own Shadowsocks servers via DigitalOcean, Amazon Web Services, Google Cloud Platform and more.

The Outline Client

Built for Android, Windows, Chrome OS, iOS, MacOS, and Linux. Just download the Outline app, add the access key and click the big “connect” button.

Outline Client App On Mac App Store

The Outline Client App On Mac App Store

Possibility Of Streaming Netflix

It won’t work if you’re setting up a proxy server through DigitalOcean. I’ve tested proxy servers based on Amazon EC2 to stream Netflix before (not via Outline). Few instances in the US region lets you stream Netflix without any error. Enable TCP BBR congestion control to make things smoother.

Use Outline client to connect other SS servers

Already own a Shadowsocks proxy server? You could use the Outline client app and connect to it.


It depends on your server location and its specifications.

Security & Privacy

Outline gives you control over your privacy by letting you operate your own server and Outline claims they never log your web traffic (but Cloud provider does). Strong encryption (Shadowsocks) helps keep your communications private.

How to setup Outline VPN

Using the Outline Manager application, you can create a server and share access with unlimited users. Let’s see how we can set up everything.

1. Download & Install Manager App: The process is straight-forward. Since their main website is blocked in China, visit this link to download the Outline manager from GitHub. The manager app is available for Windows, Linux, and MacOS.

2. Choose A Cloud Server & Set Up: DigitalOcean and Amazon AWS are accessible from China. You won’t be able to access Google Cloud Platform from the mainland.

Outline Manager Screenshot on MacOS

Outline Manager Screenshot on MacOS

It’s recommended to register an account with the Cloud provider of your choice before connecting it with the Outline manager. As you can see in the screenshot; DigitalOcean is partnered with Outline. So, setting up a proxy server powered by DigitalOcean would be the best approach.

Bonus: You can connect Outline with your existing cloud provider also.

Set Up Outline Anywhere


3. Use The Access Key To Connect: Once you finish the setup process, the Outline manager will generate a token (access key).

Add Access Key On Outline Client App

Now, download and install the client app. Use the Access Key (SIP002 URI Scheme) on the client app, and tap/click connect.

Cons of Outline:

  • Bandwidth limitations according to the cloud provider.
  • Your cloud provider may or may not store log and other traces.
  • Netflix streaming issue. I feel it can be resolved if you’re using AWS.
  • There’s a chance the Great Firewall of China may block Outline’s Shadowsocks protocol. They should either switch to SSR or something more complex /dynamic/secure in near future. Check Vini Fortuna‘s response to this thread. He’s the engineering manager at Google’s @Jigsaw in NY.
  • No mirror sites (yet) for mainland China users. GitHub can be slow at times.
  • You won’t like it if you’re used to the commercial VPNs. The Outline VPN is a simple and pretty much relies on a minimal and limited environment. For the same amount, you might be able to access 10 to 15 servers of a Shadowsocks service provider like SocketPro.


Fast. Easy to Use. Netflix Optimized. Get SocketPro Here.

Overall, I’m quite happy with what they’re doing. I highly encourage the readers of this blog post to test Outline at least once instead of relying on a VPN service provider all the time. Outline makes it easier for anyone to set up a proxy server and access restricted content.

I believe Outline is a great initiative that supports freedom of speech by helping anyone anywhere in the World to break the barriers without relying on a third party VPN provider.

Thank you, Jigsaw (Google)!

Guide To Speed Up Site in China

Yes, you’d come across a whole bunch websites that discuss tips to optimize the loading speed of your website in China. Unfortunately, few of them are brutally outdated. Some of these websites represent web hosting agencies that upsell services. And the rest may sound complicated to bloggers and entrepreneurs with little to no experience. Skip introduction.

Update: Planning to start a new blog in China? I’ve prepared the definitive guide to start a blog. Purchase ExpressVPN or SocketPro subscription (if you’re in China) and build your blog based on Namecheap, DigitalOcean, GeneratePress, and Cloudflare.

Get Your China Web Perf Audit

I’ve prepared this guide for newbie bloggers and small to medium-sized businesses that run a website or blog, intended to cater to both international and Chinese users.

If you are planning to set up a brand new WordPress site, go ahead read my blog post on “How to Start A WordPress Blog in China.”

Bonus: I’d bust some common myths via this article. E.g., “host your site in China for the best speed,” “WordPress won’t work well in China” etc.

Now buckle up and start optimizing your website for China.

8 Steps to optimize the speed of your website in China

Step 1: Monitor The Website Performance

The first thing to do is to understand your website’s loading speed in the greater China region. Services like and PageSpeed Insights (Google) are great.

The only problem is Pingdom free version doesn’t allow you to test from Asia – China region and Google usually pings your site from US IPs.

Need an alternative? Here’s a list of free tools to test website load time from China

  • (You need to sign-up)

Usually, after a first test run, these sites will give you tips on how to improve the loading time. These tips are great, but you need to go further to optimize the site for China.

Fun Fact: loads faster than a digital marketing agency based in Shanghai that wrote an article on the same topic (real bummer, innit?).

Now here are some workarounds to make your optimize your website and the server so that the site content will render fast!

Step 2: Reduce TTFB

Google defines TTFB as a period of “waiting”:

Time spent waiting for the initial response, also known as the Time To First Byte.

This time captures the latency of a round trip to the server in addition to the time spent waiting for the server to deliver the response.

Read More About TTFB on Wikipedia indicates your site’s TTFB in the “First Byte” section of the results page.

There are “n” number of methods to reduce First Byte Time. But, I’d suggest finding the root of the problem before changing the host or purchasing a CDN service.

You could initiate a chat with your webmaster or hosting provider first, get insights from them, then decide what to do next.

Here are some recommended best practices to reduce First Byte Time.

1. Improve the server configuration: These methods will vary according to what web server you are using. A lot of readers aren’t tech-savvy, so it is wise to leave this duty to your webmaster. Ask your webmaster to optimize Apache or NGINX for better TTFB. Head over to to view recommendations and insights that may sound optimal for you.

2. Use a CDN: Using a good quality CDN can help deliver your static content, like images and scripts, faster to users via a network of servers worldwide. Aliyun (from Alibaba), Tencent Cloud CDN and Akamai are some of the best CDN service providers for China.

Pro Tip: Do not have the budget to buy a premium CDN service? The cheapest workaround is to move your server to Hong Kong or Singapore region. Digital Ocean‘s Singapore node servers work flawlessly in China.

Warning: Cloudflare CDN (free package) is known for its high TTFB. Do no use Cloudflare CDN’s free service to improve TTFB; it’ll work the other way around.

Step 3: Reduce The Website Page Size

Yeah, it’s the modern age. Everyone has better internet at home or at work. But that doesn’t mean you’ve to create a 10MB index page. The site load time will go up if you don’t reduce your web page’s size. It’ll affect your ranking also.

Ideally, your website should load within 4 seconds at least (if it’s not hosted in China). You should compress whenever it’s necessary. Do not use a site builder like WPBakery if you are using WordPress. WPBakery’s CSS is quite bloated in my opinion.

Step 4: Use lightweight WordPress Themes

Waterfall chart of (archived.)

WordPress, Joomla, and Magento are great content management systems and e-commerce platforms to manage blogs and e-commerce stores.

For example, if you are maintaining a blog based on WordPress that caters Chinese audience, you should stick with optimal settings when it comes to the themes. There’s a ton of “heavy” WordPress themes that may potentially decrease the performance of your site.

But, WordPress is Blocked in China, right?

No. WordPress sub-domain loads blazing fast in China.

Or use Baidu; you can find mirror links to download WP package anyway.

WordPress is famous here, and I know few people who run a WordPress blog in China by throwing Cloudflare on top of it. However, a lot of Chinese web devs or companies don’t prefer WordPress in general as a CMS platform. They tend to build their own CMS based on PHP or Node.js etc.

And local bloggers in general, they prefer Chinese CMSs or blogging platforms over WP. I moderate Chengdu Living, an expat community-focused website based on WP. And it works well without a VPN. Same with this site, Feel free to check out my WP beginners guide for bloggers in China for more detailed info.

I’d suggest GeneratePress framework (developed by Tom Usborne) if you’re building a new site intended to the users in China.

GeneratePress is insanely lightweight, and it loads very fast. Read my GeneratePress WordPress theme review if you’re interested.

Look at for example. My site is built on GeneratePress framework and powered by a San Francisco based server. Still, it promises a decent load time (2 to 4 seconds) in China.

Download The Fastest WordPress Theme

Step 5: Usage Of Web Fonts or Fonts in General

Web font usage is another important factor when it comes to slowing down your websites in China.

Don’t even think about using Google fonts or Adobe Typekit fonts. Both works if you’ve got an optimized CDN. But it is still not recommended to fetch fonts from GFW blocked resources.

Here are a few alternatives:

Google Font Alternative for China

google-webfonts-helper” lets you download your favorite Google fonts for offline use.


Which means, you can download Google fonts to your PC in .otf formats, upload to your server and fetch them directly using @font-face in the stylesheet.

Adobe Typekit Alternative for China

Quite tricky. You should completely avoid Adobe Typekit and purchase the license for the fonts from the designers. Then you could upload eot, ttf, svg, woff and woff2 files and use them within your CSS snippet.

Use System Font Stacks

Recommended approach if you want the site to load even faster. A “system font stack” is a way of telling the web browser to use the font your operating system is already using.

So, what’s your call? A website with custom fonts (that adds at least 100kb page-size + respective loading time) or the one that loads blazing fast?

Here’s an example code snippet you could use in the CSS:

body * {font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";}

Step 6: Inspecting Links To External Resources

Make sure your site(s)’ CSS, images, video files or JavaSCript does not load from external resources blocked by Chinese internet a.k.a the GFW.

The best approach is to host everything locally (recommended) or use a CDN optimized for China.

Step 7: WordPress Caching

Running a blog based on WordPress (CMS)? Make use of a caching plugin called Autoptimize developed by Frank Goossens (futtta). Autoptimize makes optimizing your site easy. It can aggregate, minify and cache scripts and styles, injects CSS in the page head by default (but can also defer), moves and defers scripts to the footer and minifies HTML.

The “Extra” options allow you to optimize Google Fonts and images, async non-aggregated JavaScript, remove WordPress core emoji cruft and more.

Step 8: Hire Someone

Last resort. Hire a web performance expert if you aren’t able to optimize everything by yourself. I’d also recommend this to people with little to no working knowledge of HTML, servers or CMS in general.

Hire Me to Optimize Your Website

I do offer such services for a price of flat 1000USD. I provide custom speed up services for your site on any hosting platform: shared, VPS or dedicated (ranging from DigitalOcean to Aliyun).

My Pricing

  • 1000 USD for complete optimization. I charge the same for setting up a new server from scratch.
  • 800 USD for a full audit (delivered in 7 days) and 1 hour consulting.
  • 2500 USD for a brand new WordPress website and server set-up.

Cover Photo by PAUL SMITH on Unsplash.