How I make educational videos on Youtube

The following is what I'm using to film videos on my Youtube channel "Techie Architect".

This page contains affiliate links to products I use that don't cost you more charges but give me a commission when you purchase through the below links. Thanks for your support.

Equipment Amazon link Usage
BOYA BY-M1 microphone A microphone connected to a laptop to record voice.
Logitech C922x Pro Stream Webcam Used for recording myself in Full HD 1080p 30FPS
Glide Gear TMP100 Teleprompter used with iPad so I can read scripts prepared before I shoot the video. I'm still evaluating this purchase as I believe I'm still not used to deal with a teleprompter.
Velbon EX-888 Tripod Tripod used in holding key light.
Ultra Compact Tripod Sturdy tabletop tripod with low hight capable of holding the teleprompter (Quite heavy) and Logitech camera. 
GorillaPod Small tripod for holding fill light.
Neewer Dimmable 176 LED Used as the key light. The advantage of this led that it accepts both battery and direct DC adapter suitable for long shooting sessions.
Neewer CN-DC2 DC 7.5V 2A Switching Power Adapter Amazon link Power adapter for Neewer Dimmable LED
Yongnuo YN160 III Pro LED Video Light Used as the fill light. The advantage of this led that it accepts both battery and direct DC adapter suitable for long shooting sessions.
YONGNUO 12V 2A Standard Power Adapter Power adapter for Youngnuo LED Video light
Collapsible Chroma Key Blue Green Collapsible Foldable chroma key green screen used to remove background, and then adjust the background by software with a free scene. 
Lenovo IdeaPad L340 laptop Lenovo IdeaPad L340 laptop used in video shooting and editing

Software Usage
MS PowerPoint 2016 (Paid) Presentation software for preparing the slides.
OBS Studio v24 (Free) Used to record the screen of computer or PowerPoint, as well as myself during presenting.
DaVinci Resolve v16 (Free) Used to edit the recorded clips, and render to the final ready video that is uploaded to the Youtube channel.
AHD Subtitles Maker (Free) Used to edit closed captions, having a ready script makes this step a bit easy. I have made a video (How I am using AHD Subtitles Maker) showing how this software can be used.
Teleprompter premium (Paid) Software for displaying the transcript on the teleprompter so I can read it & not recorded by the camera. It works on the iPad (There is a new version working on Android as well released 25-Jun-2020) & works with teleprompter mentioned in equipment.


VLOG & Courses Creation youtube playlist of important videos I used to learn how to shoot, script, edit videos.

I hope this help someone out there.

Passing TOGAF Essentials 2018

Update on 29-Feb-2020
If you prefer viewing a video & slides, please find below links to video and download slides:


Original post: 21-Apr-2019

Thank God; I have passed "TOGAF Essentials 2018" on 20-Apr-2019.

TOGAF Essentials 2018 is a credential that shows that a TOGAF certified v9.0 or v9.1 candidate knowledge is up-to-date (Latest update Apr-2018). You can know more about the credential from the Open Group official website & FAQs about the TOGAF Standard, Version 9.2.

While the upgrade is not mandated but preferred, you can check Why you should upgrade to TOGAF 9.2 Certification?

The following is the recommended steps from my perspective to prepare and pass the exam (It took me around 3 calendar weeks, not dedicated, along with work & family duties):

1- Watch Official TOGAF 9.2 webinar
(Optional highly recommended step) I think "An Introduction to the TOGAF® Standard, Version 9.2 (Full Webinar - 49 minutes)" video is the best I have seen about TOGAF v9.2 and I have used some information & references mentioned in this webinar in my preparation. It shows you the approach of this strategic re-structure.

2- Taking a 3 hrs course
(Mandatory step) You need to attend 3 hrs course, I have checked the official TOGAF® 9 Accredited Training Courses and made the below comparison list (Prices may vary based on company offers and new companies added to the list by Open Group):

Providers
Price
Duration
Course nature
Practice questions
Accredited slide pack
TOGAF standard 9.2 electronic
CC & Csolutions $ 249 (Search for promo code as well) 4 hrs Self-paced, 3 months access (Can be extended upon request) No
Conexiam $ 275 3 hrs On-demand video based instructor, lifetime access No Yes And other many ebooks & e-Papers
EA Learning GBP 349 3 hrs Self-paced, Instant 6 months access
EA Principals $ 395 3.5 hrs One time Live Online Yes Yes Yes
Good learning $ 499 (Discounted code of 20%) = $399 3 hrs Self-paced, Instant 6 months access Quizzes & revision modules, 2x practice exams
QA Transforming performance through learning GBP 350 (Search for promotional code) 3 hrs
I selected the course from Conexiam as it was reasonably priced, and I prefer reading some extra material if I find them beneficial.
I prefer to have a first quick view of the course just to take an idea about the course & the material in general.

3- Take a free practice exam without preparation
  • After you finish the course; the training center will contact Open Group to provide you access to practice assessment (You will receive email from donotreply@brillium.com with link to practice exam). This takes from 1 - 6 days; in my case just the next day I received the exam link.
  • The idea of taking a free practice exam without preparation (Even I took it closed book) is to get the feel of the nature of questions and know what to focus in the course.
  • The exam is 20 multiple choice questions with only 1 correct answer within 30 minutes (Every question should take 1.5 minutes).
  • The supported browsers are (Google Chrome, Apple Safari,  Microsoft Internet Explorer, and Microsoft Edge), by the time of writing this article Mozilla Firefox is not supported.
  • The practice exam can be retaken as much as you want until you succeed (Score 75%) once you succeed this practice exam will be closed and another link will be sent to your email that has the link to the actual exam.
  • The practice exam will inform you about what you did wrong & will tell you the correct answer to your mistake at the end of the practice exam.
4- Take the course again
Repeat the course again, take notes & pay attention to the questions you missed in the exam. Below is the recommended area of focus & suggested reading material (It is not required to read all the below in details, I was reading sections from many of them plus paying attention to view all the artifacts changed in TOGAF v9.2):
#
Section
Title / Link
Why
1 General The TOGAF® Standard, Version 9.2 Overview Reference Cards (N180) Quick access for diagrams especially content metamodel (Core, & extended), artifacts associated with metamodel, ADM.
2 General The TOGAF® STANDARD, Version 9.2 (C182) Quick access for the TOGAF standard for any definition, notes, the relations between content metamodel. Training for the exam as well
3 Business Architecture Business Capabilities (G161) The approach is changed, details of business capabilities.
4 Business Architecture Value Streams (G170) The approach is changed, details of value streams.
5 ISO INTERNATIONAL STANDARD ISO/IEC/IEEE 42010 First edition 2011-12-01 Conceptual model of architecture description mainly on page 5. Optional the complete ISO standard.
6 Security Integrating Risk and Security within a TOGAF® Enterprise Architecture (G152) Integrating Risk & Security with TOGAF


5- Prepare soft/hard copy material for the exam
The following is the suggested material you need to have during the exam:

#
Format
Title
Description / Link
1 Soft Course Slides Usually, the course material shows the difference between v9.1 & v9.2 in clear & brief way (I think better than the TOGAF reference), you can use this material as there are several questions in the exam will ask you about the delta between v9.1 & v9.2
2 Soft Course Handouts The course may provide handouts for the exam, I found this very beneficial during the exam.
3 Soft The TOGAF® STANDARD, Version 9.2 (C182) HTML, PDF
I believe important chapters are the following:
  • Chapter 3: Definitions.
  • Chapter 5: Preliminary Phase
  • Chapter 6: Phase A: Architecture Vision
  • Chapter 7: Phase B: Business Architecture
  • Chapter 30: Content Metamodel
  • Chapter 31: Architectural Artifacts
4 Soft PROMOTING AND PROTECTING THE TOGAF® ECOSYSTEM (W156) Download
5 Hard Core Content Metamodel TOGAF Standard, chapter 30 - Figure 30-5: Entities and Relationships Present within the Core Content Metamodel
6 Hard Full Content Metamodel TOGAF Standard, chapter 30 - Figure 30-7: Relationships between Entities in the Full Metamodel
7 Hard Basic Architecture Concepts TOGAF Standard, chapter 31 - Figure 31-1: Basic Architectural Concepts
8 Hard TOGAF Essential 2018 - Question Tracking sheet I made this sheet to track the 20 questions, you might find it useful to use the Inclusion-Exclusion Principle when solving multiple choice exam questions

6- Take the free practice exam again till you pass
  • Take the free practice exam (This time well prepared).
  • The exam is repeating; no new questions, I think maybe the order of questions/answers are changed.
  • The practice exam can be retaken as much as you want until you succeed (Score 75%). Once you succeed this practice exam will be closed and another link will be sent to your email that has the link to the actual exam.
  • The practice exam will inform you about what you did wrong & will tell you the correct answer to your mistake at the end of the practice exam, please use this to identify areas you need improvement & cover them from the material mentioned in step 4.
  • I succeeded from the first time using the material mentioned in step 5 & understanding the course in more details.
7- Take the actual exam
  • You will receive an invitation to the exam (With 2 free retakes if you fail) within 1 business day from passing the practice exam with a 75% score or higher.
  • Prepare the list of resources in step 5 handy.
  • Drink a cup of coffee and water before starting the exam with at least 30 mins (Exam time is precious).
  • Good luck with the exam, I have passed with 90% from the first time and hope you will do even better 😃

I hope you find this blog post useful, if so, please share with your friends interested in TOGAF.

Enable DEBUG & VERBOSE for Huawei Android Logcat

I'm having Huawei Nova Plus I found that Huawei only prints to its Android log starting log level INFO. As per Huawei; this is done for performance optimization purposes.

Any Android developer requires logging level DEBUG & VERBOSE.

This post mainly states the trials I have done trying to solve this issue till reached a solution / workaround.

For the record my device information was:
Model number: HUAWEI MLA-L11
Build number: MLA-L11C185B131  &  MLA-L11C185B151
EMUI version: EMUI 4.1
Android version: 6.0

I found same issue in other Huawei models like GT3, Mate 8.

1- Huawei secret menu (Source link with screenshots in xda developers):
Type *#*#2846579#*#* in dialer application, when "ProjectMenu" appears -> 1.Background Settings -> 3. LOG Settings -> mark the check of "AP Log". Reboot your mobile.
Repeat above steps to access secret menu, and check the "AP Log" if you found it is still checked after reboot, your phone is ready :) otherwise try next method.
Note: It didn't work for me, maybe of a bug on Huawei.
Update: 9-Dec-2017
After several upgrades till reached:
Model number: HUAWEI MLA-L11
Build number: MLA-L11C185B341
EMUI version: EMUI 5.0.1
Android version: 7.0
The logging started working in Android Studio Logcat for all libraries as desired, but unfortunately the settings works till restart mobile, i.e. once device restarts you need to enable log checks from same menu to continue debugging.

2- Set log level for some application tags:

a- Open adb shell while your device is connected, usually located in ANDROID_SDK\platform-tools
adb shell

b- Set log level to verbose for specific tags (change below MYTAG to whatever important tag in your application)
C:\android\sdk\platform-tools>adb shell
shell@HWMLA:/ $ stop
shell@HWMLA:/ $ setprop log.tag.MYTAG VERBOSE
shell@HWMLA:/ $ start
shell@HWMLA:/ $


c- Test your application, and check logs, if it works make the above as script and set all your important tags to be VERBOSE. Downside of this script, is the need to apply it every-time your restart your phone.
Note: It didn't work for me, I don't know why.

3- Workaround using external logging framework (Timber):
a- I switched my code to use Timber (It was pretty easy refactor).

b- I made small customization to Timber.DebugTree & created a class HuaweiTree in my project. It simply switches log level of VERBOSE & DEBUG to INFO so Huawei will print it. The code is below:
package ...;

import android.util.Log;
import timber.log.Timber;


public class HuaweiTree extends Timber.DebugTree {
    @Override
    protected void log(int priority, String tag, String message, Throwable t) {
        if (priority == Log.VERBOSE || priority == Log.DEBUG)
            priority = Log.INFO;
        super.log(priority, tag, message, t);
    }
}


c- Plug this customization to your code, by adding it to your application class onCreate method
    @Override
    public void onCreate() {
        super.onCreate();
       
        // ... As early as possible ...

        if (BuildConfig.DEBUG) {
            String deviceManufacturer = android.os.Build.MANUFACTURER;
            if (deviceManufacturer.toLowerCase().contains("huawei")) {
                Timber.plant(new HuaweiTree());
            } else {
                Timber.plant(new Timber.DebugTree());
            }
        }
        // ... Continue your application ...
    }




I hope in future if I find better solution; I will try to keep this post updated.

Update: 9-Dec-2017
 After using Huawei nova plus mobile for over a year now, I really like the phone and build quality, so as a normal user I recommend. But, as a developer, I don't recommend Huawei phones for Android development due to two main reasons:
1- Support will not answer you, I have tried every link, email, facebook page.
2- I recommend a phone with stock Android experience.
 

Official guide for upgrading LG G3 to Android 6 Marshmallow

I wanted to upgrade my LG G3 D885 international version to Android 6 Marshmallow, and I found multiple links with multiple tools for doing the upgrade.

OTA (Over The Air) upgrade was not working and always telling me that I'm running the latest version, while I was running Android 5.0 Lollipop.

I contacted LG support via email asking about official way, and they told me just install the LG PC Suite & perform the check & upgrade from the software.

Just download the LG PC Suite, and connect the mobile, and click button "Upgrade Check", and follow the instructions.

After I finished the upgrade, I made a factory reset as I was suffering from battery draining issues, and I have seen several posts regarding this reset that it will most probably help. You can view how to perform the factory reset using this link.

VirtualBox: Installing CentOS 7 Guest on Windows 8.1 host


Step-by-step guide

  1. Download CentOS.
  2. When selecting a version, select the "DVD ISO" don't select "Everything ISO", it is more than 4 GB for CentOS version 7.
  3. Download & install VirtualBox, or you may use any existing version you already have like what is installed with Genymotion.
  4. Open Virtualbox, and click "New" button.
  5. In the name "CentOS7" you will find the type is automatically changed to "Linux" & version to "Red Hat", change the version to be "Red Hat (64 bit)", click "Next". Note: If you are running VirtualBox in Windows 8/8.1, you may not find the option of 64 bit. If this is the case, and to get it enabled, first make sure that you enabled "Intel Virtualization" option in your BIOS. Second, disable Hyper-v platform in Windows through ControlPanel->Programs->Turn Windows Features On or Off.
  6. For the memory, select at least 1024 MB, click "Next".
  7. For the Hard drive, click "Create a virtual hard drive now", click "Create".
  8. Keep "VDI (VirtualBox Disk Image)", click "Next".
  9. Keep storage as "Dynamically allocated", click "Next".
  10. Type a location for this file without spaces.
  11. The maximum size limit 40 GB will be more than enough (Dynamic allocated as required this is just maximum limit), click "Create".
  12. Select your virtual machine, click "Settings":
    1. Click "System", Boot order, uncheck "Floppy".
    2. Click "Storage", click "Controller: IDE" and select the CD ROM, and click the button "Set up virtual CD DVD drive" and select the iso image file downloaded in step #2, click "OK".
    3. Click "Network", Adapter 1, attached to "Bridged Adapter" instead of NAT & then:
      1. Select your WiFi controller in name in-case you are using your laptop and will use the wireless network on your Internet connectivity.
      2. Select your Ethernet in name in-case you are using a PC and you will be using the Ethernet network on your Internet connectivity.
  13. Select your virtual machine, click "Start".
  14. Select "Install CentOS 7".
  15. You can abort checking the media by clicking "Esc".
  16. In the graphical installer starts, select "English", "United States", click "Continue".
  17. Change the timezone.
  18. In software selection "Basic Web Server" & select the following Add-Ons (Based on your needs):
    1. Backup client.
    2. Directory client.
    3. Guest agents.
    4. Hardware Monitoring utilities.
    5. Large Systems performance.
    6. Performance tools.
    7. Remote Management for Linux
  19. For Installation Destination, Keep "Automatic partitioning selected".
  20. For Network & hostname:
    1. You will find a Network Ethernet (Either you are using Wireless or Ethernet connection on your host; VirtualBox will mimic any network connection to Ethernet), click the button to make it "On" as you will need for Internet connectivity & your work later. It will say connected.
    2. Scroll down and change the hostname to "centos7.localdomain"
  21. Click button "Begin Installation".
  22. For root password: root_password_must_memorize
  23. For user creation: Type your name it will suggest login name, make sure to "Make this user as administrator" and provide your password.
  24. When installation, click "Reboot".
  25. From the virtualbox settings, storage, "Remove disk from virtual drive" to avoid re-installing CentOS again.
  26. Make sure your system is up & running before performing post installation steps.

    You can scroll up & down in the CentOS guest using shift + pageup & shift + pagedown

Post installation

Installing DKMS & Guest Additions

  1. In-case you have VirtualBox older than v4.3.14RC1, download newer version of Guest Additions, tried for version 4.3.20, & copy it to virtual box folder having the original one. If you have already higher version, please skip this step.
  2. While your CentOS vm is already started, and you have logged using root.
  3. Run the following command to install EPEL (Extra Packages for Enterprise Linux):
    yum install epel-release
    Is this ok? y
  4. Run the following command to install kernel-devel package that provides the headers needed to compile modules for the kernel:
    yum install kernel-devel
    Is this ok? y
  5. Run the following command to install dkms (Dynamic Kernel Module Support):
    yum install dkms
    Is this ok? y
  6. While your CentOS vm is already started, and you have logged using root. Select "Device" menu, and select "CD/DVD", and mount VirtualBox Guest Additions 4.3.20
  7. In the VM status bar just move to the CD icon, you will find that the CD has mounted "Virtual Guest Additions iso" that is normally located in %VIRTUALBOX_FOLDER%\VBoxGuestAdditions.iso
  8. Auto installation doesn't work with CentOS it just mounted the CD, it usually works for Windows, we will perform the next steps to manually install Guest Additions.
  9. Mount the CD ROM using the command (Note: Without installing the kernel-devel specific version although done before, the building of GuestAdditions was always failing, now it will take time and build successfully):
    yum install kernel-devel-3.10.0-123.el7.x86_64
    Is this ok? y
    mount /dev/cdrom /mnt
    cd /mnt
    sh ./VBoxLinuxAdditions.run
  10. Shutdown your VM using command:
    shutdown -h now "configure shared folder"
  11. Go to your VM settings, click "Shared Folder", Add new folder "c:\shared-with-vbox" with below settings:

  12. Go to your VM settings, click "General", tab "Advanced", for Shared Clipboard select "Bidirectional".
  13. Go to your VM settings, click "Storage", Remove disk from virtual drive.
  14. Start your VM, login with root, you need to make a folder in your centos and then mount the shared folder to this newly created folder using below command:
    cd /tmp
    mkdir sharedhost
    mount -t vboxsf sharedwithvbox /tmp/sharedhost

Installing SELinux (Security-Enhanced Linux) Policy Management tool

This is required later for securing your server when changing the port of SSH
  1. Just run the command:
    yum install policycoreutils-python

Installing Network Time Protocol

This is required later for synchronizing your server with NTP
  1. Just run the command:
    yum install ntp