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 the Internet Explorer will be launched as expected.

Continue Reading

Compile Caffe without Root Privileges

In this tutorial, we are going to introduce how to install Caffe without root privileges. We assume that you have installed Anaconda and CUDA on your PC. Create Virtual Environment Install Dependencies Since we decide not to use system dependencies, we need to install them in the Anaconda environment. To install, you can use the following commands: Build Protocol Buffer (protobuf) Please DO NOT install it with Anaconda, because it causes the problem of the undefined reference in the linking process. To compile protobuf, we need to download the source code from GitHub: Then, we need to generate a Makefile with configure: Please make sure that you add the --enable-share option. Finally, we can build it with make and make…

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

Build PyTorch Extensions with CUDA and CFFI

Deprecated warning: PyTorch 1.0+ uses to Aten as its tensor library. So the article is no longer applicable in PyTorch 1.0+. Please refer to this GitHub repository for more information. Python is one of the most popular programming languages today for deep learning applications. However, as an interpreted language, it has been considered too slow for high-performance computing. Therefore, I incorporated CUDA into Python to build my own extension that accelerates the computation. In this tutorial, I give an example of CUDA extension for data augmentation in deep learning. Create Build Scripts First of all, we need to create a script for building FFI extension named build.py. Create CUDA Interface Then, we need to create an interface for CUDA which…

Continue Reading
Contact Us
  • Tencent AI Lab, Shenzhen, China
  • cshzxie [at] gmail [dot] com