Technical Guide

Browse posts by year. Within each year, entries are ordered by last modification date (newest first when available).

2026 (1 posts)
2025 (3 posts)
  • Microsoft vcpkg

    Open article page ·

    (work in progress…)

    Unlike Linux, the Microsoft Operating System (OS) does not have a central library controller. The vcpkg can partially do the job, but sometimes with a bit extra tuning. Besides, there are several package manager exists. One popular alternative option is the Conan. However, here are some instructions on vcpkg, could be helpful for the beginners.

    MS-vcpkg

    vcpkg has two operation modes: classic and manifest. During the classic mode, installs packages globally in a shared installed directory (e.g., C:\vcpkg\installed\x64-windows), managed by explicit vcpkg install commands, like traditional system package managers (apt, brew) but local to the vcpkg root, while manifest mode uses a project-specific vcpkg.json file for declarative dependency management, installing packages into a project-local vcpkg_installed folder, offering better version control and project isolation. Moreover, the manifest mode is often recommended for most of the new projects due to its explicit dependency declaration and easier reproducibility, whereas classic mode suits simpler, shared library setup.

    Clone and Setting

    • Clone the repository in any suitable directory (often prefer C:/ drive). Therefore, for github
        cd C:\
        git clone --recursive https://github.com/microsoft/vcpkg.git
      
    • Then Environment Variables >> System Variables >> path >> new >> (add) C:\vcpkg However, I found no visible effect whether set it or not.

    Install vcpkg

    • run .\bootstrap-vcpkg.bat
      • Windows Power Shell
      • .\vcpkg integrate install (!important: this will integrate with current visual studio)
      • Save a copy of the CMake Instruction for future use for me:
        • CMake projects should use: "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"

    Search, Install, and Integration

    • Search .\vcpkg.exe search library_name (e.g., opencv)
    • Install .\vcpkg.exe install library_name:x64-windows (:x64-windows for x64 machine, otherwise x86 is default). This might take a while!.
    • Someone can find the downloaded library under installed folder, e.g., C:\vcpkg\installed, also under packages folder.
    • Also, .\vcpkg.exe list will return all installed libraries

    • After installing the library, run .\vcpkg.exe integrate install to integrate with visual studio.
      • This integrate is important if someone want to access files easily under C:\vcpkg\installed\x64-windows\include directory

    Uninstalling packages

    • to uninstall particular package .\vcpkg.exe remove package_name:x64-windows
    • sometimes it may need to use --recurse command if other packages are depend on that packages, e.g., .\vcpkg.exe --recurse remove python3:x64-windows
    • to uninstall all packages .\vcpkg.exe remove *:x64-windows
    • Against .\vcpkg.exe integrate -> vcpkg is deleted. To remove vcpkg integrate remove need to call.

    Some packages like boost, and qt5 are “meta-packages”. This means that these packages themselves are empty, and what they do is depend on other packages to install them all together as a convenience (not clear).

    Using in C++ (tried on Visual Studio 2022) project

    • Create an empty project
    • Check what debug machine it is x86/x64
    • Simply use #include<start_the_library_name>, the library will appear
    • If not, then have to do it a bit manually (if there is any other solution, I will add later)
      • type .\vcpkg.exe integrate project in the power shell and follow the instruction. Generally the instruction is:
      • With a project open, go to Tools->NuGet Package Manager->Package Manager Console and paste: Install-Package vcpkg.C.vcpkg -Source "C:\vcpkg\scripts\buildsystems"

    vcpkg to Cmake

    • How to add to CMake command line -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake?
        cmake_minimum_required (VERSION x.x)
        set(CMAKE_TOOLCHAIN_FILE "C:/vcpkg/scripts/buildsystems/vcpkg.cmake")
        project (project_name)
        file (GLOB_REUSE fileCollection "Source/*.h"
                                       "Source/*.cpp"
                                                  )
    
        find_package(assimp CONFIG REQUIRED)
        add_executable (project_name ${fileCollection})
        #find_package can also be here
        target_link_libraries(project_name PRIVATE assimp::assimp)
    

    Resources

  • Dual Boot Mode: Ubuntu on Top of Windows

    Open article page ·

    Formatting Booted USB (Windows), if normal formatting not work

    cmd -> type "diskpart"
    list disk
    select disk <number>
    clean
    create partition primary
    format fs=ntfs quick // format fs=fat32 quick
    //optional step
    assign letter=h //any letter you want to
    exit
    


    Boot USB Flash drive

    • Check the windows BIOS mode, run>> msinfo32>> BIOS Mode
      • If target system is UEFI then partition scheme GPT
      • If target system is BIOS/ CSM/Lagacy then partition scheme MBR 👍🏼 selecting MBR is better
    • Download rufus to make USB stick bootable and run as Administrator
      • if rufus don’t see the .iso file, copy the .iso to C: drive in a folder, e.g., iso

    1.a) Advanced Way Dual Boot

    • Follow single/dual boot this tutorial until 6.43m -> select something else

    1. b) Generic Way (~Making USB Bootable~)

    Boot Key, Varies on Motherboard ~Booting (Ubuntu) on Windows OS~

    • Need to accessed the UEFI menu. Varies from motherboard to motherboard, but normally:
      • Enter for boot menu -> disable secure booting
      • on Fn before pressing F12
      • even the boot key could be del/esc
    • (for dual boot on single hard disk) Installation type -> something else -> select drive -> use as: Ext4 journaling file system -> Mount point: select ` ` -> Device for boot loader installation -> Windows Boot Manager

    Screenshot 2022-10-26 102040

    • double click on the free space, select file systems Ext4 and mount point: \

    Screenshot 2022-10-26 102159

    • most important: In dual boot mode, select the Device for boot loader installation: /dev/sda2 Windows Boot Manager Screenshot 2022-10-26 102343

    • If needed, follow this video if necessary

    1.c) Best fit with old motherboard for this tutorial

  • Upgrading Overleaf Experience with Visual Studio Code and Local LaTeX IDEs

    Open article page ·

    Integration with Visual Studio Code and OpenAI (my choice)

    • Overleaf
      • Install Overleaf Worshop from Visual Studio Code Extension, more on the Overleaf Workshop github
      • Inspect » Network » Cookie or, as alternative set-cookie (copy it)
      • Open Overleaf Workshop » Login to Server » Login with Cookies » Paste the Cookie
    • Install Write Assist AI
      • go to https://platform.openai.com/api-keys and generate a new secret keyand copy it
      • In Visual Studio Code, press Ctrl + Shift+ P to open the Command Palette
      • Search Write Assist AI: Set OpenAI API Key
      • Paste the secrete key
    • Add New Server » Network » Referer (copy) »
    • Big thanks to Thiemo Fetzer’s youtube tutorial

    Integration with Local Text Editor and GitHub

    • Menu » GitHub (connect with github account)
    • Follow standard github procedure, you can commit, push, pull to the remote repository.
    • Edit with the LaTeX IDEs: e.g., TexStudio, Texmaker, etc.
    • One create a commit, Menu » GitHub» (pull it to the overleaf)

    Other (faster) Options

    Alternatives of Overleaf

2021 (1 posts)
  • Creating and Google Indexing GitHub Pages

    Open article page ·

    GitHub Pages

    • GitHub allows only one free hosting static page against per github account
    • Developers can develop their page with HTML, CSS, Javascript, or any other languages if like.
    • Important: for this your github account name, and newly created repository name must me the same. For example, if your github account is sample-git, then your page name must be sample-git.github.io, which later will generate url https://sample-git.github.io
    • You can not push files to your repository, upload templates, or develop manually.
    • There are many awesome repositories for templates, for instance, jekyllthemes.

    Google Indexing

    • Adding GitHub Page to google indexing (see the image)
      • now go to the https://search.google.com/search-console/welcome?hl=en&utm_source=wmx&utm_medium=deprecation-pane&utm_content=home
      • take the url prefix for verification (second option)
      • paste your url, you will have a google_verification.html code
      • simply upload it to your github main repository
      • wait a bit, because the github takes some time, then click on the verify in google search console.
    • go to the https://developers.google.com/search
    • Google Analytics: https://analytics.google.com/

    GSC_01-min

No posts match your search.