Window Maker is one of the very few graphical user interfaces which I would call timeless. Despite the fact it hasn’t evolved graphically for almost 20 years, it still looks clean and beautiful by today standards, whereas AfterStep now looks terribly old and outdated.
In fact, it is one of those very few intemporal interfaces which left a huge impact on me over the years :
Early Macintosh System Software on the Macintosh Plus, the first GUI I ever used in the mid-eighties
As LuaRocks is unfortunately not part of the FreeBSD ports collection, it has to be compiled manually. As I’m going to need to repeat this process in the foreseeable future, I decided to document the required steps here.
The reason why I’m targeting Lua 5.1 specifically is that I’m installing Luarocks to build rocks to be used with the Nginx Lua module, as I plan to migrate the Telize server to FreeBSD.
Installing Lua and some required packages
pkg install lua51 gmake curl
Fetching, unpacking, and configuring using Curl as downloader
curl -O http://luarocks.org/releases/luarocks-2.2.0.tar.gz
tar xvfz luarocks-2.2.0.tar.gz
cd luarocks-2.2.0./configure --with-lua-include=/usr/local/include/lua51 --with-downloader=curl
make build && make install
Building and installing some Lua modules
luarocks build lua-cjson
luarocks build lua-iconv
Verifying that our modules have been built and installed successfully
I’ve been working a lot on JSON APIs during the past few years, and even more intensively lately. If testing GET requests is straightforward, for POST requests I often had to look at Curl documentation again for exact options names and parameter syntax for sending the desired HTTP headers.
So I decided to post some quick notes on doing unauthenticated POST requests, in order to have a quickly accessible reference.
Here is a list of some relevant Curl options :
-d, --dataDATA HTTP POST data (H)
-X, --request COMMAND Specify request command to use
-H, --header LINE Custom headerto pass to server (H)
Doing an empty POST request
curl --request POST http://127.0.0.1:8080/api/store
Specifying the package option when invoking make will create a binary package in /usr/pkgsrc/packages/All. As compiling can take a long time on the Pi, this is especially handy when doing reinstalls or using multiple boards.
Here is the list of packages which have been created :
So far, running NetBSD on the Raspberry Pi has been a very positive experience and the system is very stable. I would definitely recommend anyone wanting to use BSD on the Pi to give NetBSD a try, it’s well worth it.
I should probably also mention that it’s smaller than a toaster :-)