Today we are proud to deliver a special BSD Mag issue with compilation of all the best David Carliers articles. David has been cooperating with us for a couple of years. During this time he has delivered a great number of very technical articles, with thousands lines of code. His articles have always been in line with issue themes and we have a feeling that whatever topic we would ask for, he is able to write about it. He possesses great knowledge and passion to open source systems, mostly BSD - of course.
We have chosen his best articles about FreeBSD, NetBSD, NodeJS, HardnedBSD, FreeBSD Security and Cloud.
If you have been wondering who David actually is, at the end of this issue you will find his bio.
We hope you will enjoy the reading.
Marta & BSD Team
The FreeBSD Corner
Using the FreeBSD's procstat API in a web context
Among all the numerous specific features of FreeBSD, there is a famous command line to dump the statistics of the various current processes, procstat. Its internal API is fortunately exposed via the well named libprocstat library. Let's imagine we want to display it via a web page so for this article, we re going to use CppCms, one of the good quality C++ web development frameworks with a current FreeBSD 10.2 release version.
Development tools on FreeBSD
If you usually program in Linux and you are considering a potential switch to FreeBSD, this article will give you an overview of the possibilities.
The Journey of a C Developer in FreeBSD’s World
Moving from Linux to FreeBSD involves quite a number of changes; some gains and some losses. As a developer, for most of the programming languages, especially the high level ones, there are no meaningful disturbing changes. But for languages like C (and its sibling C++), if you want to port your software, libraries, etc., some points might need to be considered.
Kernel and syscalls / Introduction
In this article, we will have an overview of what is called a syscall (system call shortened), from the kernel side to the userland then in the end how to create a new one, in FreeBSD. It is assumed you know how to build FreeBSDcurrent and have some knowledge about C language.
In this article, we will give an overview of the nature of the FreeBSD’s kernel. The important configuration files will be explained in addition to learning how to compile the whole system with more options, with more debugging information. Very useful for kernel development.
NetBSD and pkgsrc-wip*
For this mid-summer, we will approach a lighter subject, NetBSD and its ports system. Pkgsrc is the framework to build third party packages for this system. We will see how to create a package and hopefully submit it. Hence, the pkgsrc is supposedly already in your system. Otherwise, a full guide is available here.
HardenedBSD, always ahead in security
The Java Debugger (JDB) is a simple command-line debugger for Java classes. The jdb command and its options call the JDB. The jdb command demonstrates the Java Platform Debugger Architecture (JDBA) and provides inspection and debugging of a local, or remote, Java Virtual Machine (JVM).
A secure webserver on FreeBSD with Hiawatha
In most cases, when it comes to choosing a web server, Nginx comes quickly to mind (I personally appreciate this one a lot, no doubt about this). However, an interesting alternative exists that embeds some very nice features, an alternative called Hiawatha.
NodeJS and FreeBSD - Part 1
NodeJS and FreeBSD - Part 2
Cloud service from a developer point of view
In this article, we will have an overview of writing a cloud service. Various ways exist to achieve your goals but we will focus on one that is memory efficient, multiplatform (POSIX systems), multi language (from C++ to Erlang), and reasonably fast. It is Apache Thrift. I recently fully wrote a cloud service and it worked reliably.
To illustrate this, we will make a basic remote file handler, the server is written in C++ and the client written in Python as an example.
About the Author