Category Archives: Others

Enable Microsoft Remote Desktop (RDP) on Linux

Gnome 42 has a fantastic new feature that allows Linux users to share their desktops with Microsoft’s Remote Desktop Protocol remotely, namely GNOME remote desktop. In this tutorial, we’ll show you how you can use this great new feature. Without this feature, an alternative solution is xrdp. However, xrdp cannot provide a consistent desktop environment as used in current Linux. Enable Automatic Login and Disable Screen Lock For the remote desktop to work on GNOME, we have to enable automatic login and disable automatic screen lock. Otherwise, it is unable to connect to the Linux PC remotely from Windows 10/11 using the Remote Desktop Connection app. Enable Remote Desktop For Ubuntu 22.04 (or other Linux distributions with GNOME>=42), the RDP-based…

Continue Reading

Arch Linux ARM on an M1 Mac with VMware Fusion

Arch Linux ARM is a simple and lightweight Linux distribution that is actually the official port of the Arch Linux operating system. It’s built especially for processors that support ARM architecture. With its use, the users can have full control of the system and shape their system according to their needs. In this tutorial, we provide the detailed procedure to install Arch Linux ARM on a Macbook Pro (with Apple M1 Pro) running VMware Fusion 13.0. Prerequisites Get Arch Linux ARM (aarch64) ISO The ISO file for Apple Silicon can be downloaded here. Create a New Virtual Machine in VMware Fusion For detailed information, please refer to the VMware Knowledge Base. Enter the Command-Line Installation In VMware Fusion, boot from…

Continue Reading

Build an iOS App: from Beginning to Abandon

Background I created a static website that saves couple pictures, namely Infinite Love, on Valentine's day 2021. As it is static, adding content requires modifying the source code. To make it more convenient, I decide to create an iOS app. I am quite familiar with web development, however, it is the first time I learn to write an iOS app. In this tutorial, I will introduce how to create an iOS application from scratch. Note: The tutorial is based on macOS 12.4, XCode 13.4.1, and iOS 15.5. Set up Environment in XCode Open Xcode and either click “Create a new Xcode project” in Xcode’s startup window, or choose File > New > Project. In the template selector, select iOS as…

Continue Reading

Use Internet Explorer in Windows 11

Background With Windows 11, Microsoft has removed several outdated apps and features, including the long-hated Internet Explorer. However, some proprietary apps and legacy sites still require Internet Explorer functionality to run. Several posts suggest using the IE mode in Microsoft Edge. However, it is not working for some websites, such as the Talent Introduction System for Shenzhen. Solution Step 1. Create a VB script, named ie.vbs with the following content. Step2. Run the VB script, and Internet Explorer will be launched as expected.

Continue Reading

Accelerate WordPress with CDN and Cache Servers

It has been a long time since I last wrote a blog post. In the past few days, I updated the architecture of Infinite Script to accelerate the speed for Chinese users. In this article, I share the new architecture of our website with you. Optimizing a CDN for Static Content Delivery Static content does not change over a period of time. If it does change, the changes are predictable. Static content includes images, CSS sheets, JavaScripts, and PDF files. Because of this, CDNs can cache a copy of the content at their edge servers. They can then serve it whenever a client requests it. CDNs are best at optimizing the delivery of static content from edge servers to users. Therefore, we use…

Continue Reading

Get Root Privileges Using CVE-2017-16995

NOTE: PLEASE DO NOT USE IT TO ATTACK OTHER COMPUTERS. CVE-2017-16995 has been fixed before. But it is broken again in many kernels of Debian and Ubuntu distributions, ranging from version 4.4 to 4.14. It causes an arbitrary memory read/write access issue was found in the Linux kernel compiled with the eBPF bpf(2) system call (CONFIG_BPF_SYSCALL). The issue could occur due to calculation errors in the eBPF verifier module, triggered by user-supplied malicious BPF program. An unprivileged user could use this flaw to escalate their privileges on a system. Setting parameter "kernel.unprivileged_bpf_disabled=1" prevents such privilege escalation by restricting access to bpf(2) call. Steps to Reproduce Create a file named upstream44.c and paste the following code to it. Then, compile it and make it executable: If…

Continue Reading
Contact Us
  • Nanyang Technological University, Singapore
  • root [at] haozhexie [dot] com