WireGuard is a fast, modern and secure VPN tunnel that is easy to setup. More notably, it’s in most cases more performant than the widely used OpenVPN, which makes it suitable for low-power embedded devices like routers. Via OpenVPN, it was only possible to achieve link rates of 4–5 Mbps on the good old ASUS RT-N56U router via the Padavan firmware.
The ASUS RT-N56U router is a dual-band router released in 2010. It was at one point of time rather popular in Singapore because there were many ISPs that were giving it out as the default router when you subscribe to one of their plans. Due to this, a large quantity of this model can be found on secondary marketplaces like Carousell. …
If you’re using Docker for Windows, you’d know that Google’s Android Emulator doesn’t work. This is because the former uses Hyper-V and the latter uses HAXM, both incompatible virtualization technologies. Microsoft (or rather Xamarin) provides an alternative to Google’s emulator — Visual Studio Emulator for Android. It’s a standalone emulator that comes Android images that don’t contain any support for Google Play Services.
However, it’s possible to install a Google Apps (GApps) package that also includes Google Play Services. The most popular GApps package is Open GApps — this is well known for those who have used CyanogenMod. …
Due to this issue, installing network-manager-strongswan
doesn’t make StrongSwan available as an option in the GUI when setting up a VPN connection on Ubuntu. Fortunately, it’s easy to build from source. These are the steps:
apt install devscripts libsecret-1-dev libnm-gtk-dev libnma-dev
apt build-dep network-manager-strongswan
wget https://download.strongswan.org/NetworkManager/NetworkManager-strongswan-1.4.1.tar.bz2
cd network-manager-strongswan-1.3.1/
uupdate ../NetworkManager-strongswan-1.4.1.tar.bz2
cd ../network-manager-strongswan-1.4.1/
Before building the package, there needs to be a change to debian/rules
. Remove the final line rm debian/network-manager-strongswan/usr/lib/NetworkManager/libnm-strongswan-properties.*a
.
dpkg-buildpackage -us -uc -nc
The output might say there was an error, but that’s just because we don’t have a signature to sign the .deb
with. Change to the parent directory and you’ll see the package ready to install with dpkg --install
.
I’ve been working with cocos2d-x, a popular open-source game engine developed primarily for mobile platforms. It’s written in C++ and targets Android via the NDK. cocos2d-x comes with a command-line tool cocos
that wraps the Android build tools in order to produce an APK.
Recently, Google removed the android
command line tool in SDK Tools 25.3.0 (release notes), breaking cocos
. The most straightforward solution for the time being would be to downgrade SDK Tools to 25.2.5 until a resolution is achieved.
In the meantime, Google has been working on an updated workflow for NDK projects that would seamlessly integrate native code editing and debugging in Android Studio. I thought, why not give it a try and see how well it works with cocos2d-x. It appears that it works pretty well — if you’re willing to ditch the cocos
tool and use Gradle for full builds instead. …