I am mostly just writing this down as a reference for my future self. I recently got a Dell XPS 13 9310 “developer edition” laptop, which came preinstalled with Ubuntu Focal. Since I know all the hardware is Linux compatible I installed Arch. The laptop ships with a NVME HDD and is configured for UEFI booting, so that’s what is represented here. This is largely copied from this existing gist and most of the credit for figuring all of this out is due to Mohammad Javad Naderi. Disable Secure Boot My laptop came with secure boot turned on, but this won’t work with Arch. Boot the laptop while hitting the F2 key until it shows that you’re going into the BIOS setup. Once you’re in there, find the area for secure boot, turn it off, hit the button to apply changes, and finally hit OK to exit. Prepare a USB…
Cross Compiling Node.js for ARM on Ubuntu
Node.js is available for many different operating systems and architectures. We can run it on our Macbooks locally, on full server grade systems, and on IoT devices with ease. The Node Foundation publishes binary tarballs for a broad spectrum of target platforms. Over at NodeSource we package those builds up for Linux to make them easy to install. However, building Node.js for architectures other than Intel x86 or x64 can be very time-consuming. A clean build of a release from the 10.x line on a Raspberry Pi 3 takes around five hours. It would be nicer if we could cross compile from a beefy Intel machine with the target being the ARM chips that are used in the Raspberry Pi. This is possible, but not as easy as I would have thought when using a recent 64bit Ubuntu system. I spent the better part of my Friday night figuring out exactly how to do it, so I thought I’d share what I learned so you don’t have to jump through all of the hoops I did.
Joining Forces With NodeSource
If you’re reading this blog, then there’s a good chance that you make use of my PPA for Node.js. I started making Node packages several years ago because I wanted there to be a consistent way for people to install up-to-date versions of Node on their machines. Not too long ago, Dan Shaw reached out to me to ask if there was anything he could do to help with the PPAs and give back to the effort. I had been looking for a way to ensure that what I’m doing satisfies the needs of Node developers, and also to make sure the project continues to receive the support it needs. We talked about how best to make this happen and decided to move things over to NodeSource from Launchpad. Here’s why.
Using Proxy Protocol With Nginx
We all know and dearly love Nginx. One very common way to use it is to put it in front of some other application server such as Tomcat, Node, or Tornado as a reverse proxy. About a year ago, Nginx got the ability to proxy WebSockets connections to a backend server that supports them.
Getting Debian Packages Sources from Launchpad
Occasionally people ask me for the sources to Debian packages that I publish on Launchpad. As it turns out, the sources are already there, you just have to know how to get to them. Fortunately it’s trivially easy to do.
A Production Quality WordPress Configuration Tutorial
The blogging software used to power this site, WordPress, has just had its 10th anniversary. In the last decade it has become incredibly popular, and currently accounts for about 18% of all websites. Due to my job at (mt) Media Temple, I’ve gotten to admin several popular blogs at various times over the years, and thus have a pretty good idea of how to optimize everything for good efficiency. In this WordPress configuration tutorial, I’m going to walk you through the production quality setup that I have for this blog, which makes use of Ubuntu Linux, Nginx, php5-fpm and MariaDB.