BSD Special – Best of David Carlier Articles


Dear Readers,

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.

FreeBSD Kernel      

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 is well known to allow building server applications in full JavaScript. In this article, we’ll see how to build nodejs from source code on FreeBSD. You will need autoconf tools, GNU make, Python, linprocfs enabled and libexecinfo installed. GCC/G++ compiler suite (C++11 compliant, ideally 4.8 series or above) or possibly clang can be used to compile the whole source.

NodeJS and FreeBSD - Part 2                  

Previously, we've seen how to build NodeJS from the sources in FreeBSD with minor source code changes. This time, we'll have an overview of the application’s build process. Numerous excellent tutorials exist to build a nodejs' application in pure Javascript. However, the possibility also exists to build an application natively in C/C++. It is exactly what we're going to see.


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

David Carlier             


0 responses on "BSD Special - Best of David Carlier Articles"

© HAKIN9 MEDIA SP. Z O.O. SP. K. 2013