Configure virtualbox data center which uses ubuntu 20.04

In this blog, I will show how to configure network in ubuntu 20.04 to create a small data center with virtualbox to simulate cloud vps in local development environment. The overall procedure is to, first, creating a virtual machine with 2 bridge network adapters attached. Then, making configuration for the network adapters with netplan . After that, cloning 2 more virtual machines and adjust the ip addresses in the network configuration. Create a virtual machine and configure its network Create new virtual machine and attach bridge network adapter to Adapter 1 and Adapter 2. Let's put the name for the machine as red Find out what are the name of the network interfaces using command ip a Then modify the file with content similar to below. Copy the content below to /etc/netplan/00-installer-config.yaml , then modify the ethernet interfaces to match with your virtual machine's interfaces. After that, run netplan apply for the ne

The first taste of Rust - A simple you tube downloader

Recently, I just learnt Rust and using it to write a simple youtube downloader with reference from node-ytdl . In this blog, I would like to share the code and how did I make it. You can find the full source code here . Install development environment I am using Windows 10 and scoop package manager. Therefore, I use the following commands. Run scoop install rustup-msvc to install rustup . Run setx "%path%;%USERPROFILE%\\scoop\\persist\\rustup\\.cargo\\bin" to add rustup to the path. Restart termial (git-bash in my case) and check the installation with rustup --version; rustc --version; cargo --version Export custom RUST_HOME : export RUSTUP_HOME=$HOME/scoop/persist/rustup/.cargo/bin/rustup Install a toolchain for rustup : rustup toolchain install stable-x86_64-pc-windows-msvc Setup project Run cargo new simple_rust_youtube_downloader --bin && cd simple_rust_youtube_downloader to create and navigate to the project. Add these dependencies to

Chia sẻ: "Daily Routine To Fight Off Depression" video from Psych2Go

"Daily Routine To Fight Off Depression" là một trong những video mình thấy rất hay về việc giúp hình thành những thói quen giúp cho cuộc sống bớt cẳng thẳng hơn. Video có phụ đề bằng tiếng Anh có thể dùng để ghi chép lại và dịch ra tiếng Việt nếu cần thiết. Ngoài ra bạn có thể dùng chức năng "Auto-translate" và chọn Tiếng Việt để coi video với Việt sub. Làm như vậy tuy có một ít sai sót nhưng vẫn có thể nắm được ý chính của video.     Reference:     The video from Psych2Go youtube channel: - ninjahoahong

Scripting with Java

I think Java is quite verbose for scripting. However, it can also be fun. I wrote a very simple experiment of ls command. You should try it out. Download file ls and chmod +x ls then you can run ./ls . There are no flags/options supported.😆 - ninjahoahong

My books review: Money for the rest of us

Overview: The "Money for the rest of us" book is a list of 10 questions serve as a guideline to invest. It is light book with not many pages and can be read during commute time. The book does not require audiences to have any special knowledge. My impression: The author, Mr. David, is very friendly and patient to answer my questions. The 10 questions are greatly explained by the author, and I think they provide a good starting point. However, I think anyone who wants to invest should build their own checklist and a general guideline for different situations. When a general guideline is in place, the decisions need to respect the guideline in order to make consistent decision. Consistency , in my opinion, is the most important in the long run as it provide information for constant feedback and improvements. Overall, I think this is a good book that helps improving my decision making process. - ninjahoahong

Use SwiftUI preview with UIKit

In my opinion SwiftUI preview is the most useful feature in SwiftUI if you want to work with older version of IOS. In this post I share how I set up my project.  Create project like showing in the pictures:   Delete the unused ContentView which use the SwiftUI.   Modify AppDelegate as follow. Create MainView (UIView) and MainViewController (UIViewController). Adding these previews functions into MainView and MainViewController. Build the project and refresh Canvas. The previews should show now. You can try to change a background color of the ViewController and see the change take effect immediately. Like in the video: Finally, Link to the code. - ninjahoahong

A starting project example for Spring Boot 2 with Postgresql, Swagger2, and JWT

Inspired by my colleague, I have spent some time putting together a Spring Boot 2 starting project. Audience: Developers who would like to have a structured Spring Boot 2 project to compare. Link to the repository: spring-boot-example Dependencies: Spring Actuator for management lombok for easy annotations swagger and swagger-ui for docs Spring devtools for dev Spring security for signup and login postgresql for database jpa for database access jjwt for jwt in java h2 for database using in test security test for testing security stuffs Spring Boot Starter Test for testing boot application What in the examples: Simple sign up and login. Simple Rest API demostration. Auto database migration with Flyway. Auto documentation generation with Swagger2 Build with gradle. Running locally with Docker + docker-compose. Store data in Postgresql database. Init database with startup sql-script. Some unit test for the Rest API. Reference: My colleague proje